You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2014/09/02 22:29:43 UTC
[09/15] git commit: AMBARI-7115. Stack Service Pluggability: Adding
service to a stack requires editing hooks folder (aonishuk)
AMBARI-7115. Stack Service Pluggability: Adding service to a stack requires editing hooks folder (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a9409865
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a9409865
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a9409865
Branch: refs/heads/branch-alerts-dev
Commit: a940986517cbfeb2ef889f0d8a45579b27adad1c
Parents: 29286b4
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Tue Sep 2 21:20:21 2014 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Tue Sep 2 21:20:21 2014 +0300
----------------------------------------------------------------------
.../ambari/server/agent/ExecutionCommand.java | 2 +
.../AmbariManagementControllerImpl.java | 11 ++
.../controller/StackConfigurationResponse.java | 17 ++-
.../StackLevelConfigurationResponse.java | 7 +-
.../internal/BlueprintResourceProvider.java | 3 +-
.../internal/ClientConfigResourceProvider.java | 11 +-
.../internal/ClusterResourceProvider.java | 2 +-
.../StackConfigurationResourceProvider.java | 6 +
...StackLevelConfigurationResourceProvider.java | 6 +
.../server/orm/entities/BlueprintEntity.java | 4 +-
.../ambari/server/state/ConfigHelper.java | 28 ++++
.../ambari/server/state/PropertyInfo.java | 34 +++--
.../src/main/resources/properties.json | 2 +
.../HDP/1.3.2/configuration/cluster-env.xml | 2 +
.../hooks/before-INSTALL/scripts/params.py | 29 ++--
.../scripts/shared_initialization.py | 111 ++-------------
.../GANGLIA/configuration/ganglia-env.xml | 2 +
.../services/HBASE/configuration/hbase-env.xml | 1 +
.../services/HDFS/configuration/hadoop-env.xml | 4 +
.../services/HDFS/package/scripts/params.py | 1 -
.../services/HIVE/configuration/hive-env.xml | 3 +
.../services/HIVE/configuration/hive-site.xml | 2 +-
.../MAPREDUCE/configuration/mapred-env.xml | 1 +
.../NAGIOS/configuration/nagios-env.xml | 4 +-
.../services/OOZIE/configuration/oozie-env.xml | 1 +
.../services/OOZIE/configuration/oozie-site.xml | 2 +-
.../services/SQOOP/configuration/sqoop-env.xml | 1 +
.../ZOOKEEPER/configuration/zookeeper-env.xml | 1 +
.../HDP/2.0.6/configuration/cluster-env.xml | 2 +
.../hooks/before-INSTALL/scripts/params.py | 35 +++--
.../scripts/shared_initialization.py | 136 ++-----------------
.../services/FLUME/configuration/flume-env.xml | 1 +
.../GANGLIA/configuration/ganglia-env.xml | 2 +
.../services/HBASE/configuration/hbase-env.xml | 1 +
.../services/HDFS/configuration/hadoop-env.xml | 4 +
.../services/HDFS/package/scripts/params.py | 1 -
.../services/HIVE/configuration/hive-env.xml | 3 +
.../services/HIVE/configuration/hive-site.xml | 2 +-
.../NAGIOS/configuration/nagios-env.xml | 4 +-
.../services/OOZIE/configuration/oozie-env.xml | 1 +
.../services/OOZIE/configuration/oozie-site.xml | 2 +-
.../services/SQOOP/configuration/sqoop-env.xml | 1 +
.../YARN/configuration-mapred/mapred-env.xml | 1 +
.../services/YARN/configuration/yarn-env.xml | 1 +
.../ZOOKEEPER/configuration/zookeeper-env.xml | 1 +
.../services/HIVE/configuration/hive-site.xml | 2 +-
.../FALCON/configuration/falcon-env.xml | 1 +
.../services/HIVE/configuration/hive-site.xml | 2 +-
.../services/STORM/configuration/storm-env.xml | 1 +
.../2.1/services/TEZ/configuration/tez-env.xml | 1 +
.../services/YARN/configuration/yarn-env.xml | 1 +
.../server/api/services/AmbariMetaInfoTest.java | 4 +-
.../api/util/StackExtensionHelperTest.java | 6 +-
.../internal/ClusterResourceProviderTest.java | 10 +-
.../orm/entities/BlueprintEntityTest.java | 24 +++-
.../services/HIVE/configuration/hive-site.xml | 2 +-
56 files changed, 247 insertions(+), 303 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
index 33c5af4..38f9669 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
@@ -303,6 +303,8 @@ public class ExecutionCommand extends AgentCommand {
String AMBARI_DB_RCA_PASSWORD = "ambari_db_rca_password";
String COMPONENT_CATEGORY = "component_category";
String REFRESH_ADITIONAL_COMPONENT_TAGS = "forceRefreshConfigTags";
+ String USER_LIST = "user_list";
+ String GROUP_LIST = "group_list";
String SERVICE_CHECK = "SERVICE_CHECK"; // TODO: is it standart command? maybe add it to RoleCommand enum?
String CUSTOM_COMMAND = "custom_command";
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index efce9bd..e53433d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -40,6 +40,8 @@ import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SERVICE_P
import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.SERVICE_REPO_INFO;
import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.STACK_NAME;
import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.STACK_VERSION;
+import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.USER_LIST;
+import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.GROUP_LIST;
import java.io.File;
import java.io.IOException;
@@ -107,6 +109,7 @@ import org.apache.ambari.server.state.HostState;
import org.apache.ambari.server.state.MaintenanceState;
import org.apache.ambari.server.state.OperatingSystemInfo;
import org.apache.ambari.server.state.PropertyInfo;
+import org.apache.ambari.server.state.PropertyInfo.PropertyType;
import org.apache.ambari.server.state.RepositoryInfo;
import org.apache.ambari.server.state.Service;
import org.apache.ambari.server.state.ServiceComponent;
@@ -1626,6 +1629,14 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
}
String packageList = gson.toJson(packages);
hostParams.put(PACKAGE_LIST, packageList);
+
+ Set<String> userSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.USER, cluster);
+ String userList = gson.toJson(userSet);
+ hostParams.put(USER_LIST, userList);
+
+ Set<String> groupSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.GROUP, cluster);
+ String groupList = gson.toJson(groupSet);
+ hostParams.put(GROUP_LIST, groupList);
if (configs.getServerDBName().equalsIgnoreCase(Configuration
.ORACLE_DB_NAME)) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java
index 96ca232..9a7831e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackConfigurationResponse.java
@@ -20,6 +20,9 @@ package org.apache.ambari.server.controller;
import java.util.Map;
+import java.util.Set;
+
+import org.apache.ambari.server.state.PropertyInfo.PropertyType;
public class StackConfigurationResponse {
@@ -52,13 +55,13 @@ public class StackConfigurationResponse {
*/
public StackConfigurationResponse(String propertyName, String propertyValue,
String propertyDescription, String type,
- Boolean isRequired, String propertyType, Map<String, String> propertyAttributes) {
+ Boolean isRequired, Set<PropertyType> propertyTypes, Map<String, String> propertyAttributes) {
setPropertyName(propertyName);
setPropertyValue(propertyValue);
setPropertyDescription(propertyDescription);
setType(type);
setRequired(isRequired);
- setPropertyType(propertyType);
+ setPropertyType(propertyTypes);
setPropertyAttributes(propertyAttributes);
}
@@ -71,7 +74,7 @@ public class StackConfigurationResponse {
private String type;
private Map<String, String> propertyAttributes;
private Boolean isRequired;
- private String propertyType;
+ private Set<PropertyType> propertyTypes;
public String getStackName() {
return stackName;
@@ -171,11 +174,11 @@ public class StackConfigurationResponse {
* Get type of property as set in the stack definition.
* @return Property type.
*/
- public String getPropertyType() {
- return propertyType;
+ public Set<PropertyType> getPropertyType() {
+ return propertyTypes;
}
- public void setPropertyType(String propertyType) {
- this.propertyType = propertyType;
+ public void setPropertyType(Set<PropertyType> propertyTypes) {
+ this.propertyTypes = propertyTypes;
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/StackLevelConfigurationResponse.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackLevelConfigurationResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackLevelConfigurationResponse.java
index 7229197..151ce07 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackLevelConfigurationResponse.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackLevelConfigurationResponse.java
@@ -20,14 +20,17 @@ package org.apache.ambari.server.controller;
import java.util.Map;
+import java.util.Set;
+
+import org.apache.ambari.server.state.PropertyInfo.PropertyType;
public class StackLevelConfigurationResponse extends StackConfigurationResponse {
public StackLevelConfigurationResponse(String propertyName,
String propertyValue, String propertyDescription, String type,
- Boolean isRequired, String propertyType,
+ Boolean isRequired, Set<PropertyType> propertyTypes,
Map<String, String> propertyAttributes) {
super(propertyName, propertyValue, propertyDescription, type, isRequired,
- propertyType, propertyAttributes);
+ propertyTypes, propertyAttributes);
}
public StackLevelConfigurationResponse(String propertyName, String propertyValue, String propertyDescription,
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
index 2cf01ff..c49b677 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintResourceProvider.java
@@ -20,6 +20,7 @@ package org.apache.ambari.server.controller.internal;
import com.google.gson.Gson;
import com.google.inject.Inject;
+
import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.DuplicateResourceException;
import org.apache.ambari.server.api.services.AmbariMetaInfo;
@@ -557,7 +558,7 @@ public class BlueprintResourceProvider extends BaseBlueprintProcessor {
blueprint.getBlueprintName());
}
Map<String, Map<String, Collection<String>>> missingProperties = blueprint.validateConfigurations(
- stackInfo, PropertyInfo.PropertyType.DEFAULT);
+ stackInfo, false);
if (! missingProperties.isEmpty()) {
throw new IllegalArgumentException("Required configurations are missing from the specified host groups: " +
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
index e5b6016..7bec61a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java
@@ -22,6 +22,7 @@ import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.google.inject.assistedinject.AssistedInject;
import com.google.inject.persist.Transactional;
+
import org.apache.ambari.server.*;
import org.apache.ambari.server.api.services.AmbariMetaInfo;
import org.apache.ambari.server.configuration.Configuration;
@@ -29,6 +30,7 @@ import org.apache.ambari.server.controller.*;
import org.apache.ambari.server.controller.spi.*;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.state.*;
+import org.apache.ambari.server.state.PropertyInfo.PropertyType;
import org.apache.ambari.server.utils.StageUtils;
import java.io.File;
@@ -36,7 +38,6 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
-import java.util.List;
import java.util.concurrent.TimeoutException;
import static org.apache.ambari.server.agent.ExecutionCommand.KeyNames.*;
@@ -241,6 +242,14 @@ public class ClientConfigResourceProvider extends AbstractControllerResourceProv
}
String packageList = gson.toJson(packages);
hostLevelParams.put(PACKAGE_LIST, packageList);
+
+ Set<String> userSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.USER, cluster);
+ String userList = gson.toJson(userSet);
+ hostLevelParams.put(USER_LIST, userList);
+
+ Set<String> groupSet = configHelper.getPropertyValuesWithPropertyType(stackId, PropertyType.GROUP, cluster);
+ String groupList = gson.toJson(groupSet);
+ hostLevelParams.put(GROUP_LIST, groupList);
String jsonConfigurations = null;
Map<String, Object> commandParams = new HashMap<String, Object>();
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
index eeee694..3307b59 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterResourceProvider.java
@@ -454,7 +454,7 @@ public class ClusterResourceProvider extends BaseBlueprintProcessor {
String defaultPassword) {
Map<String, Map<String, Collection<String>>> missingPasswords = blueprint.validateConfigurations(
- stackInfo, PropertyInfo.PropertyType.PASSWORD);
+ stackInfo, true);
Iterator<Map.Entry<String, Map<String, Collection<String>>>> iter;
for(iter = missingPasswords.entrySet().iterator(); iter.hasNext(); ) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
index 2e2bfe1..4abf3d2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackConfigurationResourceProvider.java
@@ -59,6 +59,9 @@ public class StackConfigurationResourceProvider extends
public static final String PROPERTY_DESCRIPTION_PROPERTY_ID = PropertyHelper
.getPropertyId("StackConfigurations", "property_description");
+
+ public static final String PROPERTY_PROPERTY_TYPE_PROPERTY_ID = PropertyHelper
+ .getPropertyId("StackConfigurations", "property_type");
public static final String PROPERTY_TYPE_PROPERTY_ID = PropertyHelper
.getPropertyId("StackConfigurations", "type");
@@ -125,6 +128,9 @@ public class StackConfigurationResourceProvider extends
setResourceProperty(resource, PROPERTY_DESCRIPTION_PROPERTY_ID,
response.getPropertyDescription(), requestedIds);
+ setResourceProperty(resource, PROPERTY_PROPERTY_TYPE_PROPERTY_ID,
+ response.getPropertyType(), requestedIds);
+
setResourceProperty(resource, PROPERTY_TYPE_PROPERTY_ID,
response.getType(), requestedIds);
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java
index 116f589..1055626 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackLevelConfigurationResourceProvider.java
@@ -56,6 +56,9 @@ public class StackLevelConfigurationResourceProvider extends
public static final String PROPERTY_DESCRIPTION_PROPERTY_ID = PropertyHelper
.getPropertyId("StackLevelConfigurations", "property_description");
+
+ public static final String PROPERTY_PROPERTY_TYPE_PROPERTY_ID = PropertyHelper
+ .getPropertyId("StackConfigurations", "property_type");
public static final String PROPERTY_TYPE_PROPERTY_ID = PropertyHelper
.getPropertyId("StackLevelConfigurations", "type");
@@ -119,6 +122,9 @@ public class StackLevelConfigurationResourceProvider extends
setResourceProperty(resource, PROPERTY_DESCRIPTION_PROPERTY_ID,
response.getPropertyDescription(), requestedIds);
+ setResourceProperty(resource, PROPERTY_PROPERTY_TYPE_PROPERTY_ID,
+ response.getPropertyType(), requestedIds);
+
setResourceProperty(resource, PROPERTY_TYPE_PROPERTY_ID,
response.getType(), requestedIds);
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintEntity.java
index 7926fd4..20ac03f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/BlueprintEntity.java
@@ -172,7 +172,7 @@ public class BlueprintEntity {
* @throws IllegalArgumentException if blueprint contains invalid information
*/
public Map<String, Map<String, Collection<String>>> validateConfigurations(
- AmbariMetaInfo stackInfo, PropertyInfo.PropertyType type) {
+ AmbariMetaInfo stackInfo, boolean validatePasswords) {
String stackName = getStackName();
String stackVersion = getStackVersion();
@@ -203,7 +203,7 @@ public class BlueprintEntity {
stackName, stackVersion, service);
for (PropertyInfo propertyInfo : serviceRequirements.values()) {
- if (propertyInfo.getType() == type) {
+ if (! (validatePasswords ^ propertyInfo.getPropertyTypes().contains(PropertyInfo.PropertyType.PASSWORD))) {
String configCategory = propertyInfo.getFilename();
if (configCategory.endsWith(".xml")) {
configCategory = configCategory.substring(0, configCategory.indexOf(".xml"));
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java
index 43838d7..6d70695 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java
@@ -46,6 +46,7 @@ import org.apache.ambari.server.controller.AmbariManagementController;
import org.apache.ambari.server.controller.ConfigurationRequest;
import org.apache.ambari.server.orm.dao.ClusterDAO;
import org.apache.ambari.server.orm.entities.ClusterConfigEntity;
+import org.apache.ambari.server.state.PropertyInfo.PropertyType;
import org.apache.ambari.server.upgrade.UpgradeCatalog170;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -437,6 +438,33 @@ public class ConfigHelper {
return result;
}
+ public Set<String> getPropertyValuesWithPropertyType(StackId stackId, PropertyType propertyType, Cluster cluster) throws AmbariException {
+ StackInfo stack = ambariMetaInfo.getStackInfo(stackId.getStackName(),
+ stackId.getStackVersion());
+
+ Set<String> result = new HashSet<String>();
+
+ for(Service service : cluster.getServices().values()) {
+ Set<PropertyInfo> stackProperties = ambariMetaInfo.getProperties(stack.getName(), stack.getVersion(), service.getName());
+
+ for (PropertyInfo stackProperty : stackProperties) {
+ if(stackProperty.getPropertyTypes().contains(propertyType)) {
+ result.add(stackProperty.getValue());
+ }
+ }
+ }
+
+ Set<PropertyInfo> stackProperties = ambariMetaInfo.getStackProperties(stack.getName(), stack.getVersion());
+
+ for (PropertyInfo stackProperty : stackProperties) {
+ if(stackProperty.getPropertyTypes().contains(propertyType)) {
+ result.add(stackProperty.getValue());
+ }
+ }
+
+ return result;
+ }
+
public String getPropertyValueFromStackDefenitions(Cluster cluster, String configType, String propertyName) throws AmbariException {
StackId stackId = cluster.getCurrentStackVersion();
StackInfo stack = ambariMetaInfo.getStackInfo(stackId.getStackName(),
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java
index 6a17e9d..e26b48f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/PropertyInfo.java
@@ -24,10 +24,15 @@ import org.w3c.dom.Element;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlList;
+
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
public class PropertyInfo {
private String name;
@@ -36,7 +41,9 @@ public class PropertyInfo {
private String filename;
private boolean deleted;
private boolean requireInput;
- private PropertyType type = PropertyType.DEFAULT;
+
+ private Set<PropertyType> propertyTypes = new HashSet<PropertyType>();
+
@XmlAnyElement
private List<Element> propertyAttributes = new ArrayList<Element>();
@@ -72,9 +79,19 @@ public class PropertyInfo {
this.filename = filename;
}
+ @XmlElement(name = "property-type")
+ @XmlList
+ public Set<PropertyType> getPropertyTypes() {
+ return propertyTypes;
+ }
+
+ public void setPropertyTypes(Set<PropertyType> propertyTypes) {
+ this.propertyTypes = propertyTypes;
+ }
+
public StackConfigurationResponse convertToResponse() {
return new StackConfigurationResponse(getName(), getValue(),
- getDescription() , getFilename(), isRequireInput(), getType().name(), getAttributesMap());
+ getDescription() , getFilename(), isRequireInput(), getPropertyTypes(), getAttributesMap());
}
public boolean isDeleted() {
@@ -102,14 +119,6 @@ public class PropertyInfo {
this.requireInput = requireInput;
}
- public PropertyType getType() {
- return type;
- }
-
- public void setType(PropertyType type) {
- this.type = type;
- }
-
@Override
public int hashCode() {
final int prime = 31;
@@ -155,7 +164,8 @@ public class PropertyInfo {
}
public enum PropertyType {
- DEFAULT,
- PASSWORD
+ PASSWORD,
+ USER,
+ GROUP
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json b/ambari-server/src/main/resources/properties.json
index 741ffe6..9471f3d 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -247,6 +247,7 @@
"StackConfigurations/property_description",
"StackConfigurations/type",
"StackConfigurations/final",
+ "StackConfigurations/property_type",
"_"
],
"StackServiceComponent":[
@@ -454,6 +455,7 @@
"StackLevelConfigurations/property_description",
"StackLevelConfigurations/type",
"StackLevelConfigurations/final",
+ "StackConfigurations/property_type",
"_"
]
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/configuration/cluster-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/configuration/cluster-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/configuration/cluster-env.xml
index a2df35a..6b97346 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/configuration/cluster-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/configuration/cluster-env.xml
@@ -39,11 +39,13 @@
<property>
<name>smokeuser</name>
<value>ambari-qa</value>
+ <property-type>USER</property-type>
<description>User executing service checks</description>
</property>
<property>
<name>user_group</name>
<value>hadoop</value>
+ <property-type>GROUP</property-type>
<description>Hadoop user group.</description>
</property>
</configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/params.py
index 2bcbd50..dc60927 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/params.py
@@ -20,6 +20,8 @@ limitations under the License.
from resource_management import *
from resource_management.core.system import System
import os
+import json
+import collections
config = Script.get_config()
tmp_dir = Script.get_tmp_dir()
@@ -70,23 +72,13 @@ hadoop_pid_dir_prefix = config['configurations']['hadoop-env']['hadoop_pid_dir_p
#users and groups
hbase_user = config['configurations']['hbase-env']['hbase_user']
nagios_user = config['configurations']['nagios-env']['nagios_user']
-oozie_user = config['configurations']['oozie-env']['oozie_user']
-webhcat_user = config['configurations']['hive-env']['hcat_user']
-hcat_user = config['configurations']['hive-env']['hcat_user']
-hive_user = config['configurations']['hive-env']['hive_user']
smoke_user = config['configurations']['hadoop-env']['smokeuser']
-mapred_user = config['configurations']['mapred-env']['mapred_user']
-hdfs_user = config['configurations']['hadoop-env']['hdfs_user']
-zk_user = config['configurations']['zookeeper-env']['zk_user']
gmetad_user = config['configurations']['ganglia-env']["gmetad_user"]
gmond_user = config['configurations']['ganglia-env']["gmond_user"]
-sqoop_user = config['configurations']['sqoop-env']['sqoop_user']
user_group = config['configurations']['hadoop-env']['user_group']
proxyuser_group = config['configurations']['hadoop-env']['proxyuser_group']
nagios_group = config['configurations']['nagios-env']['nagios_group']
-smoke_user_group = "users"
-mapred_tt_group = default("/configurations/mapred-site/mapreduce.tasktracker.group", user_group)
#hosts
hostname = config["hostname"]
@@ -129,7 +121,22 @@ if has_ganglia_server:
hbase_tmp_dir = config['configurations']['hbase-site']['hbase.tmp.dir']
ignore_groupsusers_create = default("/configurations/hadoop-env/ignore_groupsusers_create", False)
-
+smoke_user_dirs = format("/tmp/hadoop-{smoke_user},/tmp/hsperfdata_{smoke_user},/home/{smoke_user},/tmp/{smoke_user},/tmp/sqoop-{smoke_user}")
+if has_hbase_masters:
+ hbase_user_dirs = format("/home/{hbase_user},/tmp/{hbase_user},/usr/bin/{hbase_user},/var/log/{hbase_user},{hbase_tmp_dir}")
#repo params
repo_info = config['hostLevelParams']['repo_info']
service_repo_info = default("/hostLevelParams/service_repo_info",None)
+
+user_to_groups_dict = collections.defaultdict(lambda:[user_group])
+user_to_groups_dict[smoke_user] = [proxyuser_group]
+if has_ganglia_server:
+ user_to_groups_dict[gmond_user] = [gmond_user]
+ user_to_groups_dict[gmetad_user] = [gmetad_user]
+
+user_to_gid_dict = collections.defaultdict(lambda:user_group)
+if has_nagios:
+ user_to_gid_dict[nagios_user] = nagios_group
+
+user_list = json.loads(config['hostLevelParams']['user_list'])
+group_list = json.loads(config['hostLevelParams']['group_list'])
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py
index f556335..e4a1135 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/hooks/before-INSTALL/scripts/shared_initialization.py
@@ -26,110 +26,23 @@ def setup_users():
Creates users before cluster installation
"""
import params
-
- Group(params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- Group(params.smoke_user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- Group(params.proxyuser_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.smoke_user,
- gid=params.user_group,
- groups=[params.proxyuser_group],
- ignore_failures = params.ignore_groupsusers_create
- )
-
- smoke_user_dirs = format(
- "/tmp/hadoop-{smoke_user},/tmp/hsperfdata_{smoke_user},/home/{smoke_user},/tmp/{smoke_user},/tmp/sqoop-{smoke_user}")
- set_uid(params.smoke_user, smoke_user_dirs)
-
- if params.has_hbase_masters:
- User(params.hbase_user,
- gid = params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create
- )
- hbase_user_dirs = format(
- "/home/{hbase_user},/tmp/{hbase_user},/usr/bin/{hbase_user},/var/log/{hbase_user},{hbase_tmp_dir}")
- set_uid(params.hbase_user, hbase_user_dirs)
-
- if params.has_nagios:
- Group(params.nagios_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.nagios_user,
- gid=params.nagios_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_oozie_server:
- User(params.oozie_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_hcat_server_host:
- User(params.webhcat_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.hcat_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_hive_server_host:
- User(params.hive_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_ganglia_server:
- Group(params.gmetad_user,
- ignore_failures = params.ignore_groupsusers_create
- )
- Group(params.gmond_user,
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.gmond_user,
- gid=params.user_group,
- groups=[params.gmond_user],
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.gmetad_user,
- gid=params.user_group,
- groups=[params.gmetad_user],
- ignore_failures = params.ignore_groupsusers_create
- )
- if params.has_namenode:
- User(params.hdfs_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create
- )
- if params.has_jt:
- User(params.mapred_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create
+ for group in params.group_list:
+ Group(group,
+ ignore_failures = params.ignore_groupsusers_create
)
- if params.has_zk_host:
- User(params.zk_user,
- gid=params.user_group,
- ignore_failures = params.ignore_groupsusers_create
+ for user in params.user_list:
+ User(user,
+ gid = params.user_to_gid_dict[user],
+ groups = params.user_to_groups_dict[user],
+ ignore_failures = params.ignore_groupsusers_create
)
+
+ set_uid(params.smoke_user, params.smoke_user_dirs)
- if params.has_sqoop_client:
- User(params.sqoop_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures=params.ignore_groupsusers_create
- )
+ if params.has_hbase_masters:
+ set_uid(params.hbase_user, params.hbase_user_dirs)
def set_uid(user, user_dirs):
"""
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/configuration/ganglia-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/configuration/ganglia-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/configuration/ganglia-env.xml
index 68d94f2..6fbed16 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/configuration/ganglia-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/configuration/ganglia-env.xml
@@ -34,11 +34,13 @@
<property>
<name>gmetad_user</name>
<value>nobody</value>
+ <property-type>USER GROUP</property-type>
<description>User </description>
</property>
<property>
<name>gmond_user</name>
<value>nobody</value>
+ <property-type>USER GROUP</property-type>
<description>User </description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/configuration/hbase-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/configuration/hbase-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/configuration/hbase-env.xml
index d02ec1b..0f66fc4 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/configuration/hbase-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/configuration/hbase-env.xml
@@ -54,6 +54,7 @@
<property>
<name>hbase_user</name>
<value>hbase</value>
+ <property-type>USER</property-type>
<description>HBase User Name.</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/configuration/hadoop-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/configuration/hadoop-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/configuration/hadoop-env.xml
index ba704ba..a8e6243 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/configuration/hadoop-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/configuration/hadoop-env.xml
@@ -59,6 +59,7 @@
<property>
<name>proxyuser_group</name>
<value>users</value>
+ <property-type>GROUP</property-type>
<description>Proxy user group.</description>
</property>
@@ -76,6 +77,7 @@
<property>
<name>hdfs_user</name>
<value>hdfs</value>
+ <property-type>USER</property-type>
<description>User to run HDFS as</description>
</property>
<property>
@@ -86,11 +88,13 @@
<property>
<name>smokeuser</name>
<value>ambari-qa</value>
+ <property-type>USER</property-type>
<description>User executing service checks</description>
</property>
<property>
<name>user_group</name>
<value>hadoop</value>
+ <property-type>GROUP</property-type>
<description>Proxy user group.</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
index 58f01f8..7d23680 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/package/scripts/params.py
@@ -94,7 +94,6 @@ hdfs_user = status_params.hdfs_user
user_group = config['configurations']['hadoop-env']['user_group']
proxyuser_group = config['configurations']['hadoop-env']['proxyuser_group']
nagios_group = config['configurations']['nagios-env']['nagios_group']
-smoke_user_group = "users"
#hadoop params
hadoop_conf_dir = "/etc/hadoop/conf"
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-env.xml
index 252aa81..550bae9 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-env.xml
@@ -71,6 +71,7 @@
<property>
<name>hive_user</name>
<value>hive</value>
+ <property-type>USER</property-type>
<description>Hive User.</description>
</property>
@@ -89,11 +90,13 @@
<property>
<name>hcat_user</name>
<value>hcat</value>
+ <property-type>USER</property-type>
<description>HCat User.</description>
</property>
<property>
<name>webhcat_user</name>
<value>hcat</value>
+ <property-type>USER</property-type>
<description>WebHCat User.</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-site.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-site.xml
index fabcdf3..8206a6a 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/configuration/hive-site.xml
@@ -52,7 +52,7 @@ limitations under the License.
<property require-input="true">
<name>javax.jdo.option.ConnectionPassword</name>
<value> </value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>password to use against metastore database</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/configuration/mapred-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/configuration/mapred-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/configuration/mapred-env.xml
index 2553025..95d853f 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/configuration/mapred-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/configuration/mapred-env.xml
@@ -54,6 +54,7 @@
<property>
<name>mapred_user</name>
<value>mapred</value>
+ <property-type>USER</property-type>
<description>MapReduce User.</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/configuration/nagios-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/configuration/nagios-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/configuration/nagios-env.xml
index 54c742c..fad8374 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/configuration/nagios-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/configuration/nagios-env.xml
@@ -24,11 +24,13 @@
<property>
<name>nagios_user</name>
<value>nagios</value>
+ <property-type>USER</property-type>
<description>Nagios Username.</description>
</property>
<property>
<name>nagios_group</name>
<value>nagios</value>
+ <property-type>GROUP</property-type>
<description>Nagios Group.</description>
</property>
<property>
@@ -39,7 +41,7 @@
<property require-input = "true">
<name>nagios_web_password</name>
<value></value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>Nagios Admin Password.</description>
</property>
<property require-input = "true">
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-env.xml
index 4585f29..37ae8dd 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-env.xml
@@ -24,6 +24,7 @@
<property>
<name>oozie_user</name>
<value>oozie</value>
+ <property-type>USER</property-type>
<description>Oozie User.</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-site.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-site.xml
index ae22d5d..cb9cb0e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/configuration/oozie-site.xml
@@ -217,7 +217,7 @@
<property require-input = "true">
<name>oozie.service.JPAService.jdbc.password</name>
<value> </value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>
DB user password.
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/configuration/sqoop-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/configuration/sqoop-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/configuration/sqoop-env.xml
index f1753c6..6edbfdc 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/configuration/sqoop-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/configuration/sqoop-env.xml
@@ -48,6 +48,7 @@ export SQOOP_USER_CLASSPATH="`ls ${HIVE_HOME}/lib/libthrift-*.jar 2> /dev/null`:
<property>
<name>sqoop_user</name>
<description>User to run Sqoop as</description>
+ <property-type>USER</property-type>
<value>sqoop</value>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zookeeper-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zookeeper-env.xml b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zookeeper-env.xml
index 33e9cef..b0d55e6 100644
--- a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zookeeper-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/configuration/zookeeper-env.xml
@@ -24,6 +24,7 @@
<property>
<name>zk_user</name>
<value>zookeeper</value>
+ <property-type>USER</property-type>
<description>ZooKeeper User.</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml
index a2df35a..6b97346 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/configuration/cluster-env.xml
@@ -39,11 +39,13 @@
<property>
<name>smokeuser</name>
<value>ambari-qa</value>
+ <property-type>USER</property-type>
<description>User executing service checks</description>
</property>
<property>
<name>user_group</name>
<value>hadoop</value>
+ <property-type>GROUP</property-type>
<description>Hadoop user group.</description>
</property>
</configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py
index f76cc33..8bb1565 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py
@@ -20,34 +20,23 @@ limitations under the License.
from resource_management import *
from resource_management.core.system import System
import os
+import json
+import collections
config = Script.get_config()
tmp_dir = Script.get_tmp_dir()
#users and groups
-yarn_user = config['configurations']['yarn-env']['yarn_user']
hbase_user = config['configurations']['hbase-env']['hbase_user']
nagios_user = config['configurations']['nagios-env']['nagios_user']
-oozie_user = config['configurations']['oozie-env']['oozie_user']
-webhcat_user = config['configurations']['hive-env']['hcat_user']
-hcat_user = config['configurations']['hive-env']['hcat_user']
-hive_user = config['configurations']['hive-env']['hive_user']
smoke_user = config['configurations']['hadoop-env']['smokeuser']
-mapred_user = config['configurations']['mapred-env']['mapred_user']
-hdfs_user = config['configurations']['hadoop-env']['hdfs_user']
-zk_user = config['configurations']['zookeeper-env']['zk_user']
gmetad_user = config['configurations']['ganglia-env']["gmetad_user"]
gmond_user = config['configurations']['ganglia-env']["gmond_user"]
-storm_user = config['configurations']['storm-env']['storm_user']
-tez_user = config['configurations']['tez-env']['tez_user']
-falcon_user = config['configurations']['falcon-env']['falcon_user']
-sqoop_user = config['configurations']['sqoop-env']['sqoop_user']
+tez_user = config['configurations']['tez-env']["tez_user"]
user_group = config['configurations']['hadoop-env']['user_group']
proxyuser_group = config['configurations']['hadoop-env']['proxyuser_group']
nagios_group = config['configurations']['nagios-env']['nagios_group']
-smoke_user_group = "users"
-mapred_tt_group = default("/configurations/mapred-site/mapreduce.tasktracker.group", user_group)
#hosts
hostname = config["hostname"]
@@ -107,6 +96,24 @@ jce_location = config['hostLevelParams']['jdk_location']
jdk_location = config['hostLevelParams']['jdk_location']
ignore_groupsusers_create = default("/configurations/hadoop-env/ignore_groupsusers_create", False)
+smoke_user_dirs = format("/tmp/hadoop-{smoke_user},/tmp/hsperfdata_{smoke_user},/home/{smoke_user},/tmp/{smoke_user},/tmp/sqoop-{smoke_user}")
+if has_hbase_masters:
+ hbase_user_dirs = format("/home/{hbase_user},/tmp/{hbase_user},/usr/bin/{hbase_user},/var/log/{hbase_user},{hbase_tmp_dir}")
#repo params
repo_info = config['hostLevelParams']['repo_info']
service_repo_info = default("/hostLevelParams/service_repo_info",None)
+
+user_to_groups_dict = collections.defaultdict(lambda:[user_group])
+user_to_groups_dict[smoke_user] = [proxyuser_group]
+if has_ganglia_server:
+ user_to_groups_dict[gmond_user] = [gmond_user]
+ user_to_groups_dict[gmetad_user] = [gmetad_user]
+if has_tez:
+ user_to_groups_dict[tez_user] = [proxyuser_group]
+
+user_to_gid_dict = collections.defaultdict(lambda:user_group)
+if has_nagios:
+ user_to_gid_dict[nagios_user] = nagios_group
+
+user_list = json.loads(config['hostLevelParams']['user_list'])
+group_list = json.loads(config['hostLevelParams']['group_list'])
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
index 0542a3e..720777f 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/shared_initialization.py
@@ -26,137 +26,23 @@ def setup_users():
Creates users before cluster installation
"""
import params
-
- Group(params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- Group(params.smoke_user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- Group(params.proxyuser_group,
+ for group in params.group_list:
+ Group(group,
ignore_failures = params.ignore_groupsusers_create
- )
- User(params.smoke_user,
- gid=params.user_group,
- groups=[params.proxyuser_group],
- ignore_failures = params.ignore_groupsusers_create
- )
- smoke_user_dirs = format(
- "/tmp/hadoop-{smoke_user},/tmp/hsperfdata_{smoke_user},/home/{smoke_user},/tmp/{smoke_user},/tmp/sqoop-{smoke_user}")
- set_uid(params.smoke_user, smoke_user_dirs)
-
- if params.has_hbase_masters:
- User(params.hbase_user,
- gid = params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create)
- hbase_user_dirs = format(
- "/home/{hbase_user},/tmp/{hbase_user},/usr/bin/{hbase_user},/var/log/{hbase_user},{hbase_tmp_dir}")
- set_uid(params.hbase_user, hbase_user_dirs)
-
- if params.has_nagios:
- Group(params.nagios_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.nagios_user,
- gid=params.nagios_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_oozie_server:
- User(params.oozie_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_hcat_server_host:
- User(params.webhcat_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.hcat_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_hive_server_host:
- User(params.hive_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_resourcemanager:
- User(params.yarn_user,
- gid = params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_ganglia_server:
- Group(params.gmetad_user,
- ignore_failures = params.ignore_groupsusers_create
- )
- Group(params.gmond_user,
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.gmond_user,
- gid=params.user_group,
- groups=[params.gmond_user],
- ignore_failures = params.ignore_groupsusers_create
- )
- User(params.gmetad_user,
- gid=params.user_group,
- groups=[params.gmetad_user],
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_namenode:
- User(params.hdfs_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_hs:
- User(params.mapred_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_zk_host:
- User(params.zk_user,
- gid=params.user_group,
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_storm_server:
- User(params.storm_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create
- )
-
- if params.has_falcon_server:
- User(params.falcon_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures = params.ignore_groupsusers_create
)
- if params.has_tez:
- User(params.tez_user,
- gid=params.user_group,
- groups=[params.proxyuser_group],
- ignore_failures = params.ignore_groupsusers_create
+ for user in params.user_list:
+ User(user,
+ gid = params.user_to_gid_dict[user],
+ groups = params.user_to_groups_dict[user],
+ ignore_failures = params.ignore_groupsusers_create
)
+
+ set_uid(params.smoke_user, params.smoke_user_dirs)
- if params.has_sqoop_client:
- User(params.sqoop_user,
- gid=params.user_group,
- groups=[params.user_group],
- ignore_failures=params.ignore_groupsusers_create
- )
+ if params.has_hbase_masters:
+ set_uid(params.hbase_user, params.hbase_user_dirs)
def set_uid(user, user_dirs):
"""
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-env.xml
index 43cea5f..7b11bde 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/configuration/flume-env.xml
@@ -34,6 +34,7 @@
<property>
<name>flume_user</name>
<value>flume</value>
+ <property-type>USER</property-type>
<description>Flume User</description>
</property>
</configuration>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml
index d340a94..e42baa5 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml
@@ -34,11 +34,13 @@
<property>
<name>gmetad_user</name>
<value>nobody</value>
+ <property-type>USER GROUP</property-type>
<description>User </description>
</property>
<property>
<name>gmond_user</name>
<value>nobody</value>
+ <property-type>USER GROUP</property-type>
<description>User </description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/configuration/hbase-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/configuration/hbase-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/configuration/hbase-env.xml
index 6d27511..2e92f56 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/configuration/hbase-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/configuration/hbase-env.xml
@@ -54,6 +54,7 @@
<property>
<name>hbase_user</name>
<value>hbase</value>
+ <property-type>USER</property-type>
<description>HBase User Name.</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/configuration/hadoop-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/configuration/hadoop-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/configuration/hadoop-env.xml
index 573a67c..817be91 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/configuration/hadoop-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/configuration/hadoop-env.xml
@@ -59,6 +59,7 @@
<property>
<name>proxyuser_group</name>
<value>users</value>
+ <property-type>GROUP</property-type>
<description>Proxy user group.</description>
</property>
<property>
@@ -74,6 +75,7 @@
<property>
<name>hdfs_user</name>
<value>hdfs</value>
+ <property-type>USER</property-type>
<description>User to run HDFS as</description>
</property>
<property>
@@ -84,11 +86,13 @@
<property>
<name>smokeuser</name>
<value>ambari-qa</value>
+ <property-type>USER</property-type>
<description>User executing service checks</description>
</property>
<property>
<name>user_group</name>
<value>hadoop</value>
+ <property-type>GROUP</property-type>
<description>Proxy user group.</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
index 5c2f792..ee6b64f 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/package/scripts/params.py
@@ -99,7 +99,6 @@ hdfs_principal_name = config['configurations']['hadoop-env']['hdfs_principal_nam
user_group = config['configurations']['hadoop-env']['user_group']
proxyuser_group = config['configurations']['hadoop-env']['proxyuser_group']
nagios_group = config['configurations']['nagios-env']['nagios_group']
-smoke_user_group = "users"
#hadoop params
hadoop_conf_dir = "/etc/hadoop/conf"
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-env.xml
index 8c17086..52cfa10 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-env.xml
@@ -61,6 +61,7 @@
<property>
<name>hive_user</name>
<value>hive</value>
+ <property-type>USER</property-type>
<description>Hive User.</description>
</property>
@@ -79,11 +80,13 @@
<property>
<name>hcat_user</name>
<value>hcat</value>
+ <property-type>USER</property-type>
<description>HCat User.</description>
</property>
<property>
<name>webhcat_user</name>
<value>hcat</value>
+ <property-type>USER</property-type>
<description>WebHCat User.</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-site.xml
index 35758fe..9057fbe 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/configuration/hive-site.xml
@@ -52,7 +52,7 @@ limitations under the License.
<property require-input="true">
<name>javax.jdo.option.ConnectionPassword</name>
<value> </value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>password to use against metastore database</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/configuration/nagios-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/configuration/nagios-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/configuration/nagios-env.xml
index 54c742c..fad8374 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/configuration/nagios-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/configuration/nagios-env.xml
@@ -24,11 +24,13 @@
<property>
<name>nagios_user</name>
<value>nagios</value>
+ <property-type>USER</property-type>
<description>Nagios Username.</description>
</property>
<property>
<name>nagios_group</name>
<value>nagios</value>
+ <property-type>GROUP</property-type>
<description>Nagios Group.</description>
</property>
<property>
@@ -39,7 +41,7 @@
<property require-input = "true">
<name>nagios_web_password</name>
<value></value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>Nagios Admin Password.</description>
</property>
<property require-input = "true">
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-env.xml
index b1f9090..fc47a70 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-env.xml
@@ -24,6 +24,7 @@
<property>
<name>oozie_user</name>
<value>oozie</value>
+ <property-type>USER</property-type>
<description>Oozie User.</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-site.xml
index 632d606..e72a8be 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/configuration/oozie-site.xml
@@ -224,7 +224,7 @@
<property require-input = "true">
<name>oozie.service.JPAService.jdbc.password</name>
<value> </value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>
DB user password.
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/configuration/sqoop-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/configuration/sqoop-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/configuration/sqoop-env.xml
index d1d56ff..b598215 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/configuration/sqoop-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/configuration/sqoop-env.xml
@@ -48,6 +48,7 @@ export SQOOP_USER_CLASSPATH="`ls ${HIVE_HOME}/lib/libthrift-*.jar 2> /dev/null`:
<property>
<name>sqoop_user</name>
<description>User to run Sqoop as</description>
+ <property-type>USER</property-type>
<value>sqoop</value>
</property>
</configuration>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration-mapred/mapred-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration-mapred/mapred-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration-mapred/mapred-env.xml
index f0b0ea6..14ae20b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration-mapred/mapred-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration-mapred/mapred-env.xml
@@ -34,6 +34,7 @@
<property>
<name>mapred_user</name>
<value>mapred</value>
+ <property-type>USER</property-type>
<description>Mapreduce User</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration/yarn-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration/yarn-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration/yarn-env.xml
index 184aff1..1c23ade 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration/yarn-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/configuration/yarn-env.xml
@@ -34,6 +34,7 @@
<property>
<name>yarn_user</name>
<value>yarn</value>
+ <property-type>USER</property-type>
<description>YARN User</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zookeeper-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zookeeper-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zookeeper-env.xml
index 33e9cef..b0d55e6 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zookeeper-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/configuration/zookeeper-env.xml
@@ -24,6 +24,7 @@
<property>
<name>zk_user</name>
<value>zookeeper</value>
+ <property-type>USER</property-type>
<description>ZooKeeper User.</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/HIVE/configuration/hive-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/HIVE/configuration/hive-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/HIVE/configuration/hive-site.xml
index 36c6985..8b4f065 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/HIVE/configuration/hive-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1.GlusterFS/services/HIVE/configuration/hive-site.xml
@@ -52,7 +52,7 @@ limitations under the License.
<property require-input="true">
<name>javax.jdo.option.ConnectionPassword</name>
<value></value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>password to use against metastore database</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/configuration/falcon-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/configuration/falcon-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/configuration/falcon-env.xml
index 8a4eabf..2c744e6 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/configuration/falcon-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/configuration/falcon-env.xml
@@ -22,6 +22,7 @@
<property>
<name>falcon_user</name>
<value>falcon</value>
+ <property-type>USER</property-type>
<description>Falcon user.</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/configuration/hive-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/configuration/hive-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/configuration/hive-site.xml
index ae874e2..9beb715 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/configuration/hive-site.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/HIVE/configuration/hive-site.xml
@@ -52,7 +52,7 @@ limitations under the License.
<property require-input="true">
<name>javax.jdo.option.ConnectionPassword</name>
<value></value>
- <type>PASSWORD</type>
+ <property-type>PASSWORD</property-type>
<description>password to use against metastore database</description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/configuration/storm-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/configuration/storm-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/configuration/storm-env.xml
index 2e118d1..d3804ee 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/configuration/storm-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/configuration/storm-env.xml
@@ -24,6 +24,7 @@
<property>
<name>storm_user</name>
<value>storm</value>
+ <property-type>USER</property-type>
<description></description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml
index 992a4df..a1eac56 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/configuration/tez-env.xml
@@ -24,6 +24,7 @@
<property>
<name>tez_user</name>
<value>tez</value>
+ <property-type>USER</property-type>
<description></description>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-env.xml
index 4f9b39a..f2a5c37 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/configuration/yarn-env.xml
@@ -34,6 +34,7 @@
<property>
<name>yarn_user</name>
<value>yarn</value>
+ <property-type>USER</property-type>
<description>YARN User</description>
</property>
<property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
index c08534c..ce239b9 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
@@ -1403,10 +1403,10 @@ public class AmbariMetaInfoTest {
PropertyInfo passwordProperty = null;
for (PropertyInfo propertyInfo : propertyInfoList) {
if (propertyInfo.isRequireInput()
- && propertyInfo.getType().equals(PropertyInfo.PropertyType.PASSWORD)) {
+ && propertyInfo.getPropertyTypes().contains(PropertyInfo.PropertyType.PASSWORD)) {
passwordProperty = propertyInfo;
} else {
- Assert.assertEquals(PropertyInfo.PropertyType.DEFAULT, propertyInfo.getType());
+ Assert.assertTrue(propertyInfo.getPropertyTypes().isEmpty());
}
}
Assert.assertNotNull(passwordProperty);
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
index c7af864..9a7946a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
@@ -585,7 +585,7 @@ public class StackExtensionHelperTest {
assertEquals(null, propertyInfo.getFilename());
assertEquals(false, propertyInfo.isDeleted());
assertEquals(false, propertyInfo.isRequireInput());
- assertEquals(PropertyInfo.PropertyType.DEFAULT, propertyInfo.getType());
+ assertTrue(propertyInfo.getPropertyTypes().isEmpty());
propertyInfo = properties.get(1);
assertEquals("yarn.scheduler.capacity.maximum-am-resource-percent", propertyInfo.getName());
@@ -596,7 +596,7 @@ public class StackExtensionHelperTest {
assertEquals(null, propertyInfo.getFilename());
assertEquals(true, propertyInfo.isDeleted());
assertEquals(false, propertyInfo.isRequireInput());
- assertEquals(PropertyInfo.PropertyType.DEFAULT, propertyInfo.getType());
+ assertTrue(propertyInfo.getPropertyTypes().isEmpty());
propertyInfo = properties.get(2);
assertEquals("yarn.scheduler.capacity.root.queues", propertyInfo.getName());
@@ -606,7 +606,7 @@ public class StackExtensionHelperTest {
assertEquals(null, propertyInfo.getFilename());
assertEquals(false, propertyInfo.isDeleted());
assertEquals(true, propertyInfo.isRequireInput());
- assertEquals(PropertyInfo.PropertyType.DEFAULT, propertyInfo.getType());
+ assertTrue(propertyInfo.getPropertyTypes().isEmpty());
}
@Test
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9409865/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
index 06d8bb7..b7430c8 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterResourceProviderTest.java
@@ -328,7 +328,7 @@ public class ClusterResourceProviderTest {
expect(blueprint.getStackName()).andReturn(stackName);
expect(blueprint.getStackVersion()).andReturn(stackVersion);
expect(blueprint.getConfigurations()).andReturn(configurations);
- expect(blueprint.validateConfigurations(metaInfo, PropertyInfo.PropertyType.PASSWORD)).andReturn(
+ expect(blueprint.validateConfigurations(metaInfo, true)).andReturn(
Collections.<String, Map<String, Collection<String>>>emptyMap());
expect(metaInfo.getComponentDependencies("test", "1.23", "service1", "component1")).
@@ -765,7 +765,7 @@ public class ClusterResourceProviderTest {
expect(blueprint.getStackName()).andReturn(stackName);
expect(blueprint.getStackVersion()).andReturn(stackVersion);
expect(blueprint.getConfigurations()).andReturn(Collections.<BlueprintConfigEntity>singletonList(blueprintConfig));
- expect(blueprint.validateConfigurations(metaInfo, PropertyInfo.PropertyType.PASSWORD)).andReturn(allMissingPasswords);
+ expect(blueprint.validateConfigurations(metaInfo, true)).andReturn(allMissingPasswords);
expect(metaInfo.getComponentDependencies("test", "1.23", "service1", "component1")).
andReturn(Collections.<DependencyInfo>emptyList());
@@ -1550,7 +1550,7 @@ public class ClusterResourceProviderTest {
expect(blueprint.getStackName()).andReturn(stackName);
expect(blueprint.getStackVersion()).andReturn(stackVersion);
expect(blueprint.getConfigurations()).andReturn(Collections.<BlueprintConfigEntity>singletonList(blueprintConfig));
- expect(blueprint.validateConfigurations(metaInfo, PropertyInfo.PropertyType.PASSWORD)).andReturn(allMissingPasswords);
+ expect(blueprint.validateConfigurations(metaInfo, true)).andReturn(allMissingPasswords);
expect(metaInfo.getComponentDependencies("test", "1.23", "service1", "component1")).
andReturn(Collections.<DependencyInfo>emptyList());
@@ -1959,7 +1959,7 @@ public class ClusterResourceProviderTest {
expect(blueprint.getStackName()).andReturn(stackName);
expect(blueprint.getStackVersion()).andReturn(stackVersion);
expect(blueprint.getConfigurations()).andReturn(Collections.<BlueprintConfigEntity>singletonList(blueprintConfig));
- expect(blueprint.validateConfigurations(metaInfo, PropertyInfo.PropertyType.PASSWORD)).andReturn(
+ expect(blueprint.validateConfigurations(metaInfo, true)).andReturn(
Collections.<String, Map<String, Collection<String>>>emptyMap());
expect(metaInfo.getComponentDependencies("test", "1.23", "service1", "component1")).
@@ -2227,7 +2227,7 @@ public class ClusterResourceProviderTest {
expect(blueprint.getStackName()).andReturn(stackName);
expect(blueprint.getStackVersion()).andReturn(stackVersion);
expect(blueprint.getConfigurations()).andReturn(configurations).times(2);
- expect(blueprint.validateConfigurations(metaInfo, PropertyInfo.PropertyType.PASSWORD)).andReturn(
+ expect(blueprint.validateConfigurations(metaInfo, true)).andReturn(
Collections.<String, Map<String, Collection<String>>>emptyMap());
expect(metaInfo.getComponentDependencies("test", "1.23", "service1", "component1")).