You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2017/10/11 23:03:42 UTC

[15/50] [abbrv] ambari git commit: AMBARI-22164: Update services API to user service_name, service_type instead of service_display_name, service_name (jluniya)

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
index c01b901..f7559c6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java
@@ -88,7 +88,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
   protected static final String COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_group_name";
   protected static final String COMPONENT_SERVICE_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_id";
   protected static final String COMPONENT_SERVICE_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_name";
-  protected static final String COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_display_name";
+  protected static final String COMPONENT_SERVICE_TYPE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_type";
   protected static final String COMPONENT_COMPONENT_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "component_name";
   protected static final String COMPONENT_DISPLAY_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "display_name";
   protected static final String COMPONENT_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "state";
@@ -114,7 +114,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
   private static Set<String> pkPropertyIds = Sets.newHashSet(
           COMPONENT_CLUSTER_NAME_PROPERTY_ID,
           COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID,
-          COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID,
+          COMPONENT_SERVICE_NAME_PROPERTY_ID,
           COMPONENT_COMPONENT_NAME_PROPERTY_ID);
 
   /**
@@ -135,7 +135,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
     PROPERTY_IDS.add(COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID);
     PROPERTY_IDS.add(COMPONENT_SERVICE_ID_PROPERTY_ID);
     PROPERTY_IDS.add(COMPONENT_SERVICE_NAME_PROPERTY_ID);
-    PROPERTY_IDS.add(COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID);
+    PROPERTY_IDS.add(COMPONENT_SERVICE_TYPE_PROPERTY_ID);
     PROPERTY_IDS.add(COMPONENT_COMPONENT_NAME_PROPERTY_ID);
     PROPERTY_IDS.add(COMPONENT_DISPLAY_NAME_PROPERTY_ID);
     PROPERTY_IDS.add(COMPONENT_STATE_PROPERTY_ID);
@@ -158,7 +158,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
     // keys
     KEY_PROPERTY_IDS.put(Resource.Type.Component, COMPONENT_COMPONENT_NAME_PROPERTY_ID);
     KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup, COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID);
-    KEY_PROPERTY_IDS.put(Resource.Type.Service, COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID);
+    KEY_PROPERTY_IDS.put(Resource.Type.Service, COMPONENT_SERVICE_NAME_PROPERTY_ID);
     KEY_PROPERTY_IDS.put(Resource.Type.Cluster, COMPONENT_CLUSTER_NAME_PROPERTY_ID);
   }
 
@@ -217,7 +217,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
         resource.setProperty(COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName());
         resource.setProperty(COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId());
         resource.setProperty(COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName());
-        resource.setProperty(COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID, response.getServiceDisplayName());
+        resource.setProperty(COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType());
         resource.setProperty(COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName());
         resource.setProperty(COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName());
         resource.setProperty(COMPONENT_STATE_PROPERTY_ID, response.getDesiredState());
@@ -264,7 +264,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
       setResourceProperty(resource, COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName(), requestedIds);
       setResourceProperty(resource, COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId(), requestedIds);
       setResourceProperty(resource, COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName(), requestedIds);
-      setResourceProperty(resource, COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID, response.getServiceDisplayName(), requestedIds);
+      setResourceProperty(resource, COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType(), requestedIds);
       setResourceProperty(resource, COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName(), requestedIds);
       setResourceProperty(resource, COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName(), requestedIds);
       setResourceProperty(resource, COMPONENT_STATE_PROPERTY_ID, response.getDesiredState(), requestedIds);
@@ -356,7 +356,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
     return new ServiceComponentRequest(
         (String) properties.get(COMPONENT_CLUSTER_NAME_PROPERTY_ID),
         (String) properties.get(COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID),
-        (String) properties.get(COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID),
+        (String) properties.get(COMPONENT_SERVICE_NAME_PROPERTY_ID),
         (String) properties.get(COMPONENT_COMPONENT_NAME_PROPERTY_ID),
         (String) properties.get(COMPONENT_STATE_PROPERTY_ID),
         (String) properties.get(COMPONENT_RECOVERY_ENABLED_ID),
@@ -384,7 +384,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
     for (ServiceComponentRequest request : requests) {
       Validate.notEmpty(request.getComponentName(), "component name should be non-empty");
       Validate.notEmpty(request.getServiceGroupName(), "service group name should be non-empty");
-      Validate.notEmpty(request.getServiceDisplayName(), "service display name should be non-empty");
+      Validate.notEmpty(request.getServiceName(), "service name should be non-empty");
       Cluster cluster = getClusterForRequest(request, clusters);
 
       isAuthorized(cluster, getRequiredCreateAuthorizations());
@@ -396,16 +396,16 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
       }
 
       Map<String, Set<String>> serviceComponents = componentNames.get(request.getClusterName());
-      if (!serviceComponents.containsKey(request.getServiceDisplayName())) {
-        serviceComponents.put(request.getServiceDisplayName(), new HashSet<String>());
+      if (!serviceComponents.containsKey(request.getServiceName())) {
+        serviceComponents.put(request.getServiceName(), new HashSet<String>());
       }
 
-      if (serviceComponents.get(request.getServiceDisplayName()).contains(request.getComponentName())) {
+      if (serviceComponents.get(request.getServiceName()).contains(request.getComponentName())) {
         // throw error later for dup
         duplicates.add(request.toString());
         continue;
       }
-      serviceComponents.get(request.getServiceDisplayName()).add(request.getComponentName());
+      serviceComponents.get(request.getServiceName()).add(request.getComponentName());
 
       if (StringUtils.isNotEmpty(request.getDesiredState())) {
         Validate.isTrue(State.INIT == State.valueOf(request.getDesiredState()),
@@ -427,7 +427,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
 
       StackId stackId = s.getDesiredStackId();
       if (!ambariMetaInfo.isValidServiceComponent(stackId.getStackName(),
-          stackId.getStackVersion(), s.getName(), request.getComponentName())) {
+          stackId.getStackVersion(), s.getServiceType(), request.getComponentName())) {
         throw new IllegalArgumentException("Unsupported or invalid component"
             + " in stack stackInfo=" + stackId.getStackId()
             + " request=" + request);
@@ -448,7 +448,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
     // now doing actual work
     for (ServiceComponentRequest request : requests) {
       Cluster cluster = clusters.getCluster(request.getClusterName());
-      Service s = cluster.getService(request.getServiceDisplayName());
+      Service s = cluster.getService(request.getServiceName());
       ServiceComponent sc = serviceComponentFactory.createNew(s, request.getComponentName());
       sc.setDesiredRepositoryVersion(s.getDesiredRepositoryVersion());
 
@@ -545,7 +545,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
     }
 
     Set<Service> services = new HashSet<>();
-    if (StringUtils.isNotEmpty(request.getServiceDisplayName())) {
+    if (StringUtils.isNotEmpty(request.getServiceName())) {
       services.add(getServiceFromCluster(request, cluster));
     } else {
       services.addAll(cluster.getServices().values());
@@ -624,7 +624,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
       final Cluster cluster = getClusterForRequest(request, clusters);
       final String clusterName = request.getClusterName();
       final String serviceGroupName = request.getServiceGroupName();
-      final String serviceName = request.getServiceDisplayName();
+      final String serviceName = request.getServiceName();
       final String componentName = request.getComponentName();
 
       LOG.info("Received a updateComponent request: {}", request);
@@ -876,7 +876,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
 
   private Service getServiceFromCluster(final ServiceComponentRequest request, final Cluster cluster) throws AmbariException {
     try {
-      return cluster.getService(request.getServiceDisplayName());
+      return cluster.getService(request.getServiceName());
     } catch (ServiceNotFoundException e) {
       throw new ParentObjectNotFoundException("Parent Service resource doesn't exist.", e);
     }
@@ -906,7 +906,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
   private void setServiceNameIfAbsent(final ServiceComponentRequest request,
                                       final Cluster cluster,
                                       final AmbariMetaInfo ambariMetaInfo) throws AmbariException {
-    if (StringUtils.isEmpty(request.getServiceDisplayName())) {
+    if (StringUtils.isEmpty(request.getServiceName())) {
 
       String componentName = request.getComponentName();
 
@@ -919,7 +919,7 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide
                 + ", componentName=" + request.getComponentName()
                 + ", clusterName=" + cluster.getClusterName());
       }
-      request.setServiceDisplayName(serviceName);
+      request.setServiceName(serviceName);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
index 2e303fd..8f1dc7c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
@@ -89,7 +89,7 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
   public static final String HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_group_name";
   public static final String HOST_COMPONENT_SERVICE_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_id";
   public static final String HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_name";
-  public static final String HOST_COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_display_name";
+  public static final String HOST_COMPONENT_SERVICE_TYPE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_type";
   public static final String HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "id";
   public static final String HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "component_name";
   public static final String HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "display_name";
@@ -112,7 +112,7 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
     new HashSet<>(Arrays.asList(new String[]{
       HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID,
       HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID,
-      HOST_COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID,
+      HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID,
       HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID,
       HOST_COMPONENT_HOST_NAME_PROPERTY_ID}));
 
@@ -180,7 +180,7 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
         resource.setProperty(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName());
         resource.setProperty(HOST_COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId());
         resource.setProperty(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName());
-        resource.setProperty(HOST_COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID, response.getServiceDisplayName());
+        resource.setProperty(HOST_COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType());
         resource.setProperty(HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID, response.getHostComponentId());
         resource.setProperty(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName());
         resource.setProperty(HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName());
@@ -252,7 +252,7 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
       setResourceProperty(resource, HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName(), requestedIds);
       setResourceProperty(resource, HOST_COMPONENT_SERVICE_ID_PROPERTY_ID, response.getServiceId(), requestedIds);
       setResourceProperty(resource, HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName(), requestedIds);
-      setResourceProperty(resource, HOST_COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID, response.getServiceDisplayName(), requestedIds);
+      setResourceProperty(resource, HOST_COMPONENT_SERVICE_TYPE_PROPERTY_ID, response.getServiceType(), requestedIds);
       setResourceProperty(resource, HOST_COMPONENT_HOST_COMPONENT_ID_PROPERTY_ID, response.getHostComponentId(), requestedIds);
       setResourceProperty(resource, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName(), requestedIds);
       setResourceProperty(resource, HOST_COMPONENT_DISPLAY_NAME_PROPERTY_ID, response.getDisplayName(), requestedIds);
@@ -520,12 +520,12 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
         }
       }
 
-      if (StringUtils.isEmpty(request.getServiceDisplayName())) {
-        request.setServiceDisplayName(getManagementController().findService(cluster, request.getComponentName()));
+      if (StringUtils.isEmpty(request.getServiceName())) {
+        request.setServiceName(getManagementController().findService(cluster, request.getComponentName()));
       }
 
       ServiceComponent sc = getServiceComponent(
-          request.getClusterName(), request.getServiceGroupName(), request.getServiceDisplayName(), request.getComponentName());
+          request.getClusterName(), request.getServiceGroupName(), request.getServiceName(), request.getComponentName());
 
       logRequestInfo("Received a updateHostComponent request", request);
 
@@ -547,10 +547,10 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
         requestClusters.put(request.getClusterName(), clusterServices);
       }
 
-      Map<String, Set<String>> serviceComponents = clusterServices.get(request.getServiceDisplayName());
+      Map<String, Set<String>> serviceComponents = clusterServices.get(request.getServiceName());
       if (serviceComponents == null) {
         serviceComponents = new HashMap<>();
-        clusterServices.put(request.getServiceDisplayName(), serviceComponents);
+        clusterServices.put(request.getServiceName(), serviceComponents);
       }
 
       Set<String> componentHosts = serviceComponents.get(request.getComponentName());
@@ -730,7 +730,7 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
     ServiceComponentHostRequest serviceComponentHostRequest = new ServiceComponentHostRequest(
             (String) properties.get(HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID),
             (String) properties.get(HOST_COMPONENT_SERVICE_GROUP_NAME_PROPERTY_ID),
-            (String) properties.get(HOST_COMPONENT_SERVICE_DISPLAY_NAME_PROPERTY_ID),
+            (String) properties.get(HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID),
             (String) properties.get(HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID),
             (String) properties.get(HOST_COMPONENT_HOST_NAME_PROPERTY_ID),
             (String) properties.get(HOST_COMPONENT_STATE_PROPERTY_ID));
@@ -947,12 +947,11 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
    * @param request  the request to log
    */
   private void logRequestInfo(String msg, ServiceComponentHostRequest request) {
-    LOG.info("{}, clusterName={}, serviceGroupName={}, serviceName={}, serviceDisplayName={}, componentName={}, hostname={}, request={}",
+    LOG.info("{}, clusterName={}, serviceGroupName={}, serviceName={}, componentName={}, hostname={}, request={}",
         msg,
         request.getClusterName(),
         request.getServiceGroupName(),
-        request.getServiceDisplayName(),
-        request.getServiceDisplayName(),
+        request.getServiceName(),
         request.getComponentName(),
         request.getHostname(),
         request);
@@ -971,8 +970,7 @@ public class HostComponentResourceProvider extends AbstractControllerResourcePro
     sb.append(msg)
       .append(", clusterName=").append(request.getClusterName())
       .append(", serviceGroupName=").append(request.getServiceGroupName())
-      .append(", serviceName=").append(request.getServiceDisplayName())
-      .append(", serviceDisplayName=").append(request.getServiceDisplayName())
+      .append(", serviceName=").append(request.getServiceName())
       .append(", componentName=").append(request.getComponentName())
       .append(", hostname=").append(request.getHostname())
       .append(", currentState=").append(oldState == null ? "null" : oldState)

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
index f8eb878..252d772 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
@@ -97,7 +97,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
   public static final String SERVICE_SERVICE_GROUP_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_group_name";
   public static final String SERVICE_SERVICE_ID_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_id";
   public static final String SERVICE_SERVICE_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_name";
-  public static final String SERVICE_SERVICE_DISPLAY_NAME_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_display_name";
+  public static final String SERVICE_SERVICE_TYPE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "service_type";
   public static final String SERVICE_SERVICE_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "state";
   public static final String SERVICE_MAINTENANCE_STATE_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "maintenance_state";
   public static final String SERVICE_CREDENTIAL_STORE_SUPPORTED_PROPERTY_ID = RESPONSE_KEY + PropertyHelper.EXTERNAL_PATH_SEP + "credential_store_supported";
@@ -116,7 +116,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
     new HashSet<>(Arrays.asList(new String[]{
       SERVICE_CLUSTER_NAME_PROPERTY_ID,
       SERVICE_SERVICE_GROUP_NAME_PROPERTY_ID,
-      SERVICE_SERVICE_DISPLAY_NAME_PROPERTY_ID}));
+      SERVICE_SERVICE_NAME_PROPERTY_ID}));
 
   /**
    * The property ids for an service resource.
@@ -136,7 +136,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
     PROPERTY_IDS.add(SERVICE_SERVICE_GROUP_NAME_PROPERTY_ID);
     PROPERTY_IDS.add(SERVICE_SERVICE_ID_PROPERTY_ID);
     PROPERTY_IDS.add(SERVICE_SERVICE_NAME_PROPERTY_ID);
-    PROPERTY_IDS.add(SERVICE_SERVICE_DISPLAY_NAME_PROPERTY_ID);
+    PROPERTY_IDS.add(SERVICE_SERVICE_TYPE_PROPERTY_ID);
     PROPERTY_IDS.add(SERVICE_SERVICE_STATE_PROPERTY_ID);
     PROPERTY_IDS.add(SERVICE_MAINTENANCE_STATE_PROPERTY_ID);
     PROPERTY_IDS.add(SERVICE_CREDENTIAL_STORE_SUPPORTED_PROPERTY_ID);
@@ -151,7 +151,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
     PROPERTY_IDS.add(QUERY_PARAMETERS_START_DEPENDENCIES);
 
     // keys
-    KEY_PROPERTY_IDS.put(Resource.Type.Service, SERVICE_SERVICE_DISPLAY_NAME_PROPERTY_ID);
+    KEY_PROPERTY_IDS.put(Resource.Type.Service, SERVICE_SERVICE_NAME_PROPERTY_ID);
     KEY_PROPERTY_IDS.put(Resource.Type.ServiceGroup, SERVICE_SERVICE_GROUP_NAME_PROPERTY_ID);
     KEY_PROPERTY_IDS.put(Resource.Type.Cluster, SERVICE_CLUSTER_NAME_PROPERTY_ID);
   }
@@ -223,7 +223,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
         resource.setProperty(SERVICE_SERVICE_GROUP_NAME_PROPERTY_ID, response.getServiceGroupName());
         resource.setProperty(SERVICE_SERVICE_ID_PROPERTY_ID, response.getServiceId());
         resource.setProperty(SERVICE_SERVICE_NAME_PROPERTY_ID, response.getServiceName());
-        resource.setProperty(SERVICE_SERVICE_DISPLAY_NAME_PROPERTY_ID, response.getServiceDisplayName());
+        resource.setProperty(SERVICE_SERVICE_TYPE_PROPERTY_ID, response.getServiceType());
         resource.setProperty(SERVICE_SERVICE_STATE_PROPERTY_ID, response.getDesiredState());
         resource.setProperty(SERVICE_MAINTENANCE_STATE_PROPERTY_ID, response.getMaintenanceState());
         resource.setProperty(SERVICE_DESIRED_REPO_VERSION_ID_PROPERTY_ID, response.getDesiredRepositoryVersion());
@@ -273,8 +273,8 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
         response.getServiceId(), requestedIds);
       setResourceProperty(resource, SERVICE_SERVICE_NAME_PROPERTY_ID,
           response.getServiceName(), requestedIds);
-      setResourceProperty(resource, SERVICE_SERVICE_DISPLAY_NAME_PROPERTY_ID,
-        response.getServiceDisplayName(), requestedIds);
+      setResourceProperty(resource, SERVICE_SERVICE_TYPE_PROPERTY_ID,
+        response.getServiceType(), requestedIds);
       setResourceProperty(resource, SERVICE_SERVICE_STATE_PROPERTY_ID,
           calculateServiceState(response.getClusterName(), response.getServiceName()),
           requestedIds);
@@ -350,7 +350,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
 
     notifyDelete(Resource.Type.Service, predicate);
     for(ServiceRequest serviceReq : requests) {
-      deleteStatusMetaData.addDeletedKey("service_name: "+serviceReq.getServiceDisplayName());
+      deleteStatusMetaData.addDeletedKey("service_name: " + serviceReq.getServiceName());
     }
     return getRequestStatus(null, null, deleteStatusMetaData);
   }
@@ -433,7 +433,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
         (String) properties.get(SERVICE_CLUSTER_NAME_PROPERTY_ID),
         (String) properties.get(SERVICE_SERVICE_GROUP_NAME_PROPERTY_ID),
         (String) properties.get(SERVICE_SERVICE_NAME_PROPERTY_ID),
-        (String) properties.get(SERVICE_SERVICE_DISPLAY_NAME_PROPERTY_ID),
+        (String) properties.get(SERVICE_SERVICE_TYPE_PROPERTY_ID),
         null == desiredRepoId ? null : Long.valueOf(desiredRepoId),
         (String) properties.get(SERVICE_SERVICE_STATE_PROPERTY_ID),
         (String) properties.get(SERVICE_CREDENTIAL_STORE_ENABLED_PROPERTY_ID),
@@ -470,8 +470,8 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
       Cluster cluster = clusters.getCluster(request.getClusterName());
       ServiceGroup sg = cluster.getServiceGroup(request.getServiceGroupName());
 
-      if(StringUtils.isBlank(request.getServiceDisplayName())) {
-        request.setServiceDisplayName(request.getServiceName());
+      if(StringUtils.isBlank(request.getServiceType())) {
+        request.setServiceType(request.getServiceName());
       }
 
       RepositoryVersionEntity repositoryVersion = request.getResolvedRepository();
@@ -480,7 +480,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
         throw new AmbariException("Could not find any repository on the request.");
       }
 
-      Service s = cluster.addService(sg, request.getServiceName(), request.getServiceName(), repositoryVersion);
+      Service s = cluster.addService(sg, request.getServiceName(), request.getServiceType(), repositoryVersion);
       if (repositoryVersion.getType() != RepositoryType.STANDARD
           && cluster.getProvisioningState() == State.INIT) {
         throw new AmbariException(String.format(
@@ -495,13 +495,13 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
       StackId stackId = repositoryVersion.getStackId();
       AmbariMetaInfo ambariMetaInfo = getManagementController().getAmbariMetaInfo();
       ServiceInfo serviceInfo = ambariMetaInfo.getService(stackId.getStackName(),
-          stackId.getStackVersion(), request.getServiceDisplayName());
+          stackId.getStackVersion(), request.getServiceType());
 
       boolean credentialStoreSupported = serviceInfo.isCredentialStoreSupported();
       boolean credentialStoreRequired = serviceInfo.isCredentialStoreRequired();
 
-      LOG.info("Service: {}, credential_store_supported = {} and credential_store_required = {} from stack definition",
-               request.getServiceDisplayName(), credentialStoreSupported, credentialStoreRequired);
+      LOG.info("Service: service_name = {}, service_type = {}, credential_store_supported = {} and credential_store_required = {} from stack definition",
+               request.getServiceName(), request.getServiceType(), credentialStoreSupported, credentialStoreRequired);
       /*
        * If request does not have credential_store_enabled field,
        * then get the default from the stack definition.
@@ -510,16 +510,16 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
         boolean credentialStoreEnabled = Boolean.parseBoolean(request.getCredentialStoreEnabled());
         boolean enableCredStore = credentialStoreSupported && (credentialStoreRequired || credentialStoreEnabled);
         s.setCredentialStoreEnabled(enableCredStore);
-        LOG.info("Service: {}, credential_store_enabled = {} from request and resulting" +
+        LOG.info("Service: service_name = {}, service_type = {}, credential_store_enabled = {} from request and resulting" +
                  " credential store enabled status is = {}",
-                 request.getServiceDisplayName(), credentialStoreEnabled, enableCredStore);
+                 request.getServiceName(), request.getServiceType(), credentialStoreEnabled, enableCredStore);
       } else {
         boolean enableCredStore = credentialStoreSupported &&
                                   (credentialStoreRequired || serviceInfo.isCredentialStoreEnabled());
         s.setCredentialStoreEnabled(enableCredStore);
-        LOG.info("Service: {}, credential_store_enabled = {} from stack definition and resulting" +
+        LOG.info("Service: service_name = {}, service_type = {}, credential_store_enabled = {} from stack definition and resulting" +
                  " credential store enabled status is = {}",
-                 s.getServiceDisplayName(), serviceInfo.isCredentialStoreEnabled(), enableCredStore);
+                 s.getName(), s.getServiceType(), serviceInfo.isCredentialStoreEnabled(), enableCredStore);
       }
 
       // Initialize service widgets
@@ -565,8 +565,8 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
     }
 
     Set<ServiceResponse> response = new HashSet<>();
-    if (request.getServiceDisplayName() != null) {
-      Service s = cluster.getService(request.getServiceDisplayName());
+    if (request.getServiceName() != null) {
+      Service s = cluster.getService(request.getServiceName());
       response.add(s.convertToResponse());
       return response;
     }
@@ -599,10 +599,10 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
       String retrivedSvcGrp = serviceResponse.getServiceGroupName();
       if (retrivedSvcGrp == null) {
         throw new NullPointerException("'ServiceGroupName' : null in cluster : " + cluster.getClusterName() +
-                " for retrieved Service : "+s.getServiceDisplayName());
+                " for retrieved Service : "+s.getServiceName());
       }
       if (!retrivedSvcGrp.equals(request.getServiceGroupName())) {
-        throw new ServiceNotFoundException(cluster.getClusterName(), s.getServiceDisplayName());
+        throw new ServiceNotFoundException(cluster.getClusterName(), s.getServiceName());
       }
       */
       response.add(serviceResponse);
@@ -656,15 +656,15 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
     for (ServiceRequest request : requests) {
       if (request.getClusterName() == null
           || request.getClusterName().isEmpty()
-          || request.getServiceDisplayName() == null
-          || request.getServiceDisplayName().isEmpty()) {
+          || request.getServiceName() == null
+          || request.getServiceName().isEmpty()) {
         throw new IllegalArgumentException("Invalid arguments, cluster name"
-            + " and/or service display name should be provided to update services");
+            + " and/or service name should be provided to update services");
       }
 
       LOG.info("Received a updateService request"
           + ", clusterName=" + request.getClusterName()
-          + ", serviceName=" + request.getServiceDisplayName()
+          + ", serviceName=" + request.getServiceName()
           + ", request=" + request);
 
       clusterIds.add(request.getClusterName());
@@ -679,15 +679,15 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
       }
 
       if (serviceNames.get(request.getClusterName())
-          .contains(request.getServiceDisplayName())) {
+          .contains(request.getServiceName())) {
         // TODO throw single exception
         throw new IllegalArgumentException("Invalid request contains duplicate"
             + " service names");
       }
-      serviceNames.get(request.getClusterName()).add(request.getServiceDisplayName());
+      serviceNames.get(request.getClusterName()).add(request.getServiceName());
 
       Cluster cluster = clusters.getCluster(request.getClusterName());
-      Service s = cluster.getService(request.getServiceDisplayName());
+      Service s = cluster.getService(request.getServiceName());
       State oldState = s.getDesiredState();
       State newState = null;
       if (request.getDesiredState() != null) {
@@ -735,8 +735,8 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
                                              "as it is required by the service. Service=" + s.getName());
         }
         serviceCredentialStoreEnabledMap.put(s, credentialStoreEnabled);
-        LOG.info("Service: {}, credential_store_enabled from request: {}", request.getServiceDisplayName(),
-            credentialStoreEnabled);
+        LOG.info("Service: service_name = {}, service_type = {}, credential_store_enabled from request: {}",
+          request.getServiceName(), request.getServiceType(), credentialStoreEnabled);
       }
 
       if (StringUtils.isNotEmpty(request.getCredentialStoreSupported())) {
@@ -747,7 +747,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
       if (newState == null) {
         if (LOG.isDebugEnabled()) {
           LOG.debug("Nothing to do for new updateService request, clusterId={}, serviceName={}, newDesiredState=null",
-            request.getClusterName(), request.getServiceDisplayName());
+            request.getClusterName(), request.getServiceName());
         }
         continue;
       }
@@ -952,7 +952,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
     Set<Service> removable = new HashSet<>();
 
     for (ServiceRequest serviceRequest : request) {
-      if (StringUtils.isEmpty(serviceRequest.getClusterName()) || StringUtils.isEmpty(serviceRequest.getServiceDisplayName())) {
+      if (StringUtils.isEmpty(serviceRequest.getClusterName()) || StringUtils.isEmpty(serviceRequest.getServiceName())) {
         // FIXME throw correct error
         throw new AmbariException("invalid arguments");
       } else {
@@ -963,7 +963,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
 
         Service service = clusters.getCluster(
             serviceRequest.getClusterName()).getService(
-          serviceRequest.getServiceDisplayName());
+          serviceRequest.getServiceName());
 
         //
         // Run through the list of service component hosts. If all host components are in removable state,
@@ -977,7 +977,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
           for (Map.Entry<String, ServiceComponentHost> entry : schHostMap.entrySet()) {
             ServiceComponentHost sch = entry.getValue();
             if (!sch.canBeRemoved()) {
-              String msg = "Cannot remove " + serviceRequest.getClusterName() + "/" + serviceRequest.getServiceDisplayName() +
+              String msg = "Cannot remove " + serviceRequest.getClusterName() + "/" + serviceRequest.getServiceName() +
                       ". " + sch.getServiceComponentName() + "on " + sch.getHost() + " is in " +
                       String.valueOf(sch.getDesiredState()) + " state.";
               LOG.error(msg);
@@ -988,7 +988,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
 
         if (!isServiceRemovable) {
           throw new AmbariException ("Cannot remove " +
-                  serviceRequest.getClusterName() + "/" + serviceRequest.getServiceDisplayName() +
+                  serviceRequest.getClusterName() + "/" + serviceRequest.getServiceName() +
                     ". " + "One or more host components are in a non-removable state.");
         }
 
@@ -1081,21 +1081,18 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
           throws AuthorizationException, AmbariException {
 
     AmbariMetaInfo ambariMetaInfo = getManagementController().getAmbariMetaInfo();
-    Map<String, Set<String>> serviceDisplayNames = new HashMap<>();
+    Map<String, Set<String>> serviceNames = new HashMap<>();
     Set<String> duplicates = new HashSet<>();
 
     for (ServiceRequest request : requests) {
       final String clusterName = request.getClusterName();
       final String serviceGroupName = request.getServiceGroupName();
       final String serviceName = request.getServiceName();
-      final String serviceDisplayName = request.getServiceDisplayName();
+      final String serviceType = request.getServiceType();
       final StackId desiredStackId = request.getDesiredStackId();
       Validate.notNull(clusterName, "Cluster name should be provided when creating a service");
       Validate.notNull(serviceGroupName, "Service group name should be provided when creating a service");
       Validate.notEmpty(serviceName, "Service name should be provided when creating a service");
-      Validate.notEmpty(serviceDisplayName, "Service display name should be provided when creating a service");
-      //Todo Add after UI is ready
-      //Validate.notNull(desiredStackId, "Service display name should be provided when creating a service");
 
       if (LOG.isDebugEnabled()) {
         LOG.debug("Received a createService request, clusterId={}, serviceName={}, request={}", clusterName, serviceName, request);
@@ -1105,16 +1102,16 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
         throw new AuthorizationException("The user is not authorized to create services");
       }
 
-      if (!serviceDisplayNames.containsKey(clusterName)) {
-        serviceDisplayNames.put(clusterName, new HashSet<String>());
+      if (!serviceNames.containsKey(clusterName)) {
+        serviceNames.put(clusterName, new HashSet<String>());
       }
 
-      if (serviceDisplayNames.get(clusterName).contains(serviceDisplayName)) {
+      if (serviceNames.get(clusterName).contains(serviceName)) {
         // throw error later for dup
-        duplicates.add(serviceDisplayName);
+        duplicates.add(serviceName);
         continue;
       }
-      serviceDisplayNames.get(clusterName).add(serviceDisplayName);
+      serviceNames.get(clusterName).add(serviceName);
 
       if (StringUtils.isNotEmpty(request.getDesiredState())) {
         State state = State.valueOf(request.getDesiredState());
@@ -1132,10 +1129,10 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
         throw new ParentObjectNotFoundException("Attempted to add a service to a cluster which doesn't exist", e);
       }
       try {
-        Service s = cluster.getService(serviceDisplayName);
+        Service s = cluster.getService(serviceName);
         if (s != null) {
           // throw error later for dup
-          duplicates.add(serviceDisplayName);
+          duplicates.add(serviceName);
           continue;
         }
       } catch (ServiceNotFoundException e) {
@@ -1195,26 +1192,31 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
 
       request.setResolvedRepository(repositoryVersion);
 
+      String stackServiceName = serviceType;
+      if(StringUtils.isBlank(serviceType)) {
+        stackServiceName = serviceName;
+      }
       if (!ambariMetaInfo.isValidService(stackId.getStackName(),
-              stackId.getStackVersion(), request.getServiceDisplayName())) {
+              stackId.getStackVersion(), stackServiceName)) {
         throw new IllegalArgumentException("Unsupported or invalid service in stack, clusterId=" + clusterName
-                + ", serviceDisplayName=" + serviceDisplayName + ", stackInfo=" + stackId.getStackId());
+          + ", serviceName=" + serviceName + ", stackServiceName=" + stackServiceName
+          + ", stackInfo=" + stackId.getStackId());
       }
 
       // validate the credential store input provided
       ServiceInfo serviceInfo = ambariMetaInfo.getService(stackId.getStackName(),
-          stackId.getStackVersion(), request.getServiceDisplayName());
+          stackId.getStackVersion(), stackServiceName);
 
       if (StringUtils.isNotEmpty(request.getCredentialStoreEnabled())) {
         boolean credentialStoreEnabled = Boolean.parseBoolean(request.getCredentialStoreEnabled());
         if (!serviceInfo.isCredentialStoreSupported() && credentialStoreEnabled) {
           throw new IllegalArgumentException("Invalid arguments, cannot enable credential store " +
-              "as it is not supported by the service. Service=" + request.getServiceDisplayName());
+              "as it is not supported by the service. Service=" + request.getServiceName());
         }
       }
     }
     // ensure only a single cluster update
-    if (serviceDisplayNames.size() != 1) {
+    if (serviceNames.size() != 1) {
       throw new IllegalArgumentException("Invalid arguments, updates allowed"
               + "on only one cluster at a time");
     }
@@ -1223,7 +1225,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
     if (!duplicates.isEmpty()) {
       String clusterName = requests.iterator().next().getClusterName();
       String msg = "Attempted to create a service which already exists: "
-              + ", clusterName=" + clusterName  + " serviceDisplayName=" + StringUtils.join(duplicates, ",");
+              + ", clusterName=" + clusterName  + " serviceName=" + StringUtils.join(duplicates, ",");
 
       throw new DuplicateResourceException(msg);
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/DatabaseChecker.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/DatabaseChecker.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/DatabaseChecker.java
index 93baefe..e3f4e1a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/DatabaseChecker.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/DatabaseChecker.java
@@ -87,9 +87,9 @@ public class DatabaseChecker {
         if (serviceDesiredStateEntity == null) {
           checkPassed = false;
           LOG.error(String.format("ServiceDesiredStateEntity is null for " +
-              "ServiceComponentDesiredStateEntity, clusterName=%s, serviceDisplayName=%s, serviceName=%s ",
-            clusterEntity.getClusterName(), clusterServiceEntity.getServiceDisplayName(),
-            clusterServiceEntity.getServiceName()));
+              "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceType=%s ",
+            clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(),
+            clusterServiceEntity.getServiceType()));
         }
         Collection<ServiceComponentDesiredStateEntity> scDesiredStateEntities =
           clusterServiceEntity.getServiceComponentDesiredStateEntities();
@@ -97,9 +97,9 @@ public class DatabaseChecker {
           scDesiredStateEntities.isEmpty()) {
           checkPassed = false;
           LOG.error(String.format("serviceComponentDesiredStateEntities is null or empty for " +
-              "ServiceComponentDesiredStateEntity, clusterName=%s, serviceDisplayName=%s, serviceName=%s ",
-              clusterEntity.getClusterName(), clusterServiceEntity.getServiceDisplayName(),
-              clusterServiceEntity.getServiceName()));
+              "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceType=%s ",
+              clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(),
+              clusterServiceEntity.getServiceType()));
         } else {
           for (ServiceComponentDesiredStateEntity scDesiredStateEnity : scDesiredStateEntities) {
 
@@ -121,28 +121,28 @@ public class DatabaseChecker {
             if (schDesiredStateEntities == null) {
               componentCheckFailed = true;
               LOG.error(String.format("hostComponentDesiredStateEntities is null for " +
-                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceDisplayName=%s, componentName=%s ",
-                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceDisplayName(),
+                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceType=%s, componentName=%s ",
+                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceType(),
                 scDesiredStateEnity.getComponentName()));
             } else if (!zeroCardinality && schDesiredStateEntities.isEmpty()) {
               componentCheckFailed = true;
               LOG.error(String.format("hostComponentDesiredStateEntities is empty for " +
-                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceDisplayName=%s, componentName=%s ",
-                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceDisplayName(),
+                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceType=%s, componentName=%s ",
+                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceType(),
                 scDesiredStateEnity.getComponentName()));
             }
 
             if (schStateEntities == null) {
               componentCheckFailed = true;
               LOG.error(String.format("hostComponentStateEntities is null for " +
-                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceDisplayName=%s, componentName=%s ",
-                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceDisplayName(),
+                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceType=%s, componentName=%s ",
+                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceType(),
                 scDesiredStateEnity.getComponentName()));
             } else if (!zeroCardinality && schStateEntities.isEmpty()) {
               componentCheckFailed = true;
               LOG.error(String.format("hostComponentStateEntities is empty for " +
-                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceDisplayName=%s, componentName=%s ",
-                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceDisplayName(),
+                  "ServiceComponentDesiredStateEntity, clusterName=%s, serviceName=%s, serviceType=%s, componentName=%s ",
+                clusterEntity.getClusterName(), clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceType(),
                 scDesiredStateEnity.getComponentName()));
             }
 
@@ -151,8 +151,8 @@ public class DatabaseChecker {
               checkPassed = false;
               LOG.error(String.format("HostComponentStateEntities and HostComponentDesiredStateEntities " +
                   "tables must contain equal number of rows mapped to ServiceComponentDesiredStateEntity, " +
-                  "(clusterName=%s, serviceName=%s, serviceDisplayName=%s, componentName=%s) ", clusterEntity.getClusterName(),
-                clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceDisplayName(), scDesiredStateEnity.getComponentName()));
+                  "(clusterName=%s, serviceName=%s, serviceType=%s, componentName=%s) ", clusterEntity.getClusterName(),
+                clusterServiceEntity.getServiceName(), clusterServiceEntity.getServiceType(), scDesiredStateEnity.getComponentName()));
             }
             checkPassed = checkPassed && !componentCheckFailed;
           }
@@ -231,26 +231,27 @@ public class DatabaseChecker {
           for (ClusterServiceEntity clusterServiceEntity : clusterServiceEntities) {
             if (!State.INIT.equals(
                 clusterServiceEntity.getServiceDesiredStateEntity().getDesiredState())) {
-              String serviceDisplayName = clusterServiceEntity.getServiceDisplayName();
+              String serviceName = clusterServiceEntity.getServiceName();
+              String stackServiceName = clusterServiceEntity.getServiceType();
               Long serviceGroupId = clusterServiceEntity.getServiceGroupId();
               ServiceInfo serviceInfo = ambariMetaInfo.getService(stack.getName(),
-                  stack.getVersion(), serviceDisplayName);
+                  stack.getVersion(), stackServiceName);
 
               for (String configTypeName : serviceInfo.getConfigTypeAttributes().keySet()) {
                 if (selectedCountForType.get(configTypeName) == null) {
                   checkPassed = false;
                   LOG.error("Configuration {} is missing for service {}", configTypeName,
-                    serviceDisplayName);
+                    serviceName);
                 } else {
                   // Check that for each config type exactly one is selected
                   if (selectedCountForType.get(configTypeName) == 0) {
                     checkPassed = false;
                     LOG.error("Configuration {} has no enabled entries for service {}",
-                        configTypeName, serviceDisplayName);
+                        configTypeName, serviceName);
                   } else if (selectedCountForType.get(configTypeName) > 1) {
                     checkPassed = false;
                     LOG.error("Configuration {} has more than 1 enabled entry for service {}",
-                        configTypeName, serviceDisplayName);
+                        configTypeName, serviceName);
                   }
                 }
               }

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentInstalledEvent.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentInstalledEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentInstalledEvent.java
index 8c2e6d4..b0c39f5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentInstalledEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentInstalledEvent.java
@@ -33,14 +33,15 @@ public class ServiceComponentInstalledEvent extends ServiceEvent {
    * @param stackName
    * @param stackVersion
    * @param serviceName
+   * @param serviceType
    * @param componentName
    * @param hostName
    */
   public ServiceComponentInstalledEvent(long clusterId, String stackName, String stackVersion, String serviceName,
-                                        String serviceDisplayName, String serviceGroupName, String componentName,
+                                        String serviceType, String serviceGroupName, String componentName,
                                         String hostName, boolean recoveryEnabled) {
     super(AmbariEventType.SERVICE_COMPONENT_INSTALL_SUCCESS, clusterId, stackName,
-          stackVersion, serviceName, serviceDisplayName, serviceGroupName);
+          stackVersion, serviceName, serviceType, serviceGroupName);
 
     m_componentName = componentName;
     m_hostName = hostName;
@@ -72,7 +73,7 @@ public class ServiceComponentInstalledEvent extends ServiceEvent {
     buffer.append(", stackName=").append(m_stackName);
     buffer.append(", stackVersion=").append(m_stackVersion);
     buffer.append(", serviceName=").append(m_serviceName);
-    buffer.append(", serviceDisplayName=").append(m_serviceDisplayName);
+    buffer.append(", serviceType=").append(m_serviceType);
     buffer.append(", serviceGroupName=").append(m_serviceGroupName);
     buffer.append(", componentName=").append(m_componentName);
     buffer.append(", hostName=").append(m_hostName);

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentUninstalledEvent.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentUninstalledEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentUninstalledEvent.java
index 803770d..2ad2940 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentUninstalledEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceComponentUninstalledEvent.java
@@ -39,10 +39,10 @@ public class ServiceComponentUninstalledEvent extends ServiceEvent {
    * @param hostName
    */
   public ServiceComponentUninstalledEvent(long clusterId, String stackName, String stackVersion, String serviceName,
-                                          String serviceDisplayName, String serviceGroupName, String componentName,
+                                          String serviceType, String serviceGroupName, String componentName,
                                           String hostName, boolean recoveryEnabled) {
     super(AmbariEventType.SERVICE_COMPONENT_UNINSTALLED_SUCCESS, clusterId,
-      stackName, stackVersion, serviceName, serviceDisplayName, serviceGroupName);
+      stackName, stackVersion, serviceName, serviceType, serviceGroupName);
 
     m_componentName = componentName;
     m_hostName = hostName;
@@ -80,7 +80,7 @@ public class ServiceComponentUninstalledEvent extends ServiceEvent {
     buffer.append(", stackName=").append(m_stackName);
     buffer.append(", stackVersion=").append(m_stackVersion);
     buffer.append(", serviceName=").append(m_serviceName);
-    buffer.append(", serviceDisplayName=").append(m_serviceDisplayName);
+    buffer.append(", serviceType=").append(m_serviceType);
     buffer.append(", serviceGroupName=").append(m_serviceGroupName);
     buffer.append(", componentName=").append(m_componentName);
     buffer.append(", hostName=").append(m_hostName);

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceEvent.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceEvent.java
index 622c9d7..79f1566 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceEvent.java
@@ -29,9 +29,9 @@ public abstract class ServiceEvent extends ClusterEvent {
   protected final String m_serviceName;
 
   /**
-   * The name of the real service.
+   * The type of the service (i.e. stack service name).
    */
-  protected final String m_serviceDisplayName;
+  protected final String m_serviceType;
 
   /**
    * The name of the service group.
@@ -55,12 +55,12 @@ public abstract class ServiceEvent extends ClusterEvent {
    * @param clusterId
    */
   public ServiceEvent(AmbariEventType eventType, long clusterId, String stackName, String stackVersion,
-                      String serviceName, String serviceDisplayName, String serviceGroupName) {
+                      String serviceName, String serviceType, String serviceGroupName) {
     super(eventType, clusterId);
     m_stackName = stackName;
     m_stackVersion = stackVersion;
     m_serviceName = serviceName;
-    m_serviceDisplayName = serviceDisplayName;
+    m_serviceType = serviceType;
     m_serviceGroupName = serviceGroupName;
   }
 
@@ -72,9 +72,9 @@ public abstract class ServiceEvent extends ClusterEvent {
   }
 
   /**
-   * @return the serviceDisplayName (never {@code null}).
+   * @return the serviceType (never {@code null}).
    */
-  public String getServiceDisplayName() { return m_serviceDisplayName; }
+  public String getServiceType() { return m_serviceType; }
 
   /**
    * @return the service group name (never {@code null}).

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceInstalledEvent.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceInstalledEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceInstalledEvent.java
index c7c7dd4..aa0a5ea 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceInstalledEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceInstalledEvent.java
@@ -29,13 +29,13 @@ public class ServiceInstalledEvent extends ServiceEvent {
    * @param stackName
    * @param stackVersion
    * @param serviceName
-   * @param serviceDisplayName
+   * @param serviceType
    * @param serviceGroupName
    */
   public ServiceInstalledEvent(long clusterId, String stackName, String stackVersion, String serviceName,
-                               String serviceDisplayName, String serviceGroupName) {
+                               String serviceType, String serviceGroupName) {
     super(AmbariEventType.SERVICE_INSTALL_SUCCESS, clusterId, stackName,
-        stackVersion, serviceName, serviceDisplayName, serviceGroupName);
+        stackVersion, serviceName, serviceType, serviceGroupName);
   }
 
   /**
@@ -48,7 +48,7 @@ public class ServiceInstalledEvent extends ServiceEvent {
     buffer.append(", stackName=").append(m_stackName);
     buffer.append(", stackVersion=").append(m_stackVersion);
     buffer.append(", serviceName=").append(m_serviceName);
-    buffer.append(", serviceDisplayName=").append(m_serviceDisplayName);
+    buffer.append(", serviceType=").append(m_serviceType);
     buffer.append(", serviceGroupName=").append(m_serviceGroupName);
     buffer.append("}");
     return buffer.toString();

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceRemovedEvent.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceRemovedEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceRemovedEvent.java
index a8de84d..bc27247 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceRemovedEvent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/ServiceRemovedEvent.java
@@ -31,9 +31,9 @@ public class ServiceRemovedEvent extends ServiceEvent {
   private final List<Component> components;
 
   public ServiceRemovedEvent(long clusterId, String stackName, String stackVersion, String serviceName,
-                             String serviceDisplayName, String serviceGroupName, List<Component> components) {
+                             String serviceType, String serviceGroupName, List<Component> components) {
     super(AmbariEventType.SERVICE_REMOVED_SUCCESS, clusterId, stackName,
-      stackVersion, serviceName, serviceDisplayName, serviceGroupName);
+      stackVersion, serviceName, serviceType, serviceGroupName);
     this.components = components;
   }
 
@@ -47,7 +47,7 @@ public class ServiceRemovedEvent extends ServiceEvent {
     buffer.append(", stackName=").append(m_stackName);
     buffer.append(", stackVersion=").append(m_stackVersion);
     buffer.append(", serviceName=").append(m_serviceName);
-    buffer.append(", serviceDisplayName=").append(m_serviceDisplayName);
+    buffer.append(", serviceType=").append(m_serviceType);
     buffer.append(", serviceGroupName=").append(m_serviceGroupName);
     buffer.append("}");
     return buffer.toString();

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
index fb6d017..01cdcdc 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
@@ -122,13 +122,14 @@ public class HostVersionOutOfSyncListener {
         // If added components do not advertise version, it makes no sense to mark version OUT_OF_SYNC
         // We perform check per-stack version, because component may be not versionAdvertised in current
         // stack, but become versionAdvertised in some future (installed, but not yet upgraded to) stack
-        String serviceDisplayName = event.getServiceDisplayName();
+        String serviceName = event.getServiceName();
+        String serviceType = event.getServiceType();
         String componentName = event.getComponentName();
         ComponentInfo component = ami.get().getComponent(hostStackId.getStackName(),
-                hostStackId.getStackVersion(), serviceDisplayName, componentName);
+                hostStackId.getStackVersion(), serviceType, componentName);
 
         if (!component.isVersionAdvertised()) {
-          RepositoryVersionState state = checkAllHostComponents(hostStackId, serviceDisplayName,
+          RepositoryVersionState state = checkAllHostComponents(hostStackId, serviceName, serviceType,
                                                                 hostVersionEntity.getHostEntity());
           if (null != state) {
             hostVersionEntity.setState(state);
@@ -169,14 +170,15 @@ public class HostVersionOutOfSyncListener {
         HostEntity hostEntity = hostVersionEntity.getHostEntity();
         RepositoryVersionEntity repoVersionEntity = hostVersionEntity.getRepositoryVersion();
         StackId stackId = repoVersionEntity.getStackId();
-        String serviceDisplayName = event.getServiceDisplayName();
+        String serviceName = event.getServiceName();
+        String serviceType = event.getServiceType();
         if (null == stackId) {
           LOG.info("Stack id could not be loaded for host version {}, repo {}", hostVersionEntity.getHostName(),
               repoVersionEntity.getVersion());
           continue;
         }
 
-        RepositoryVersionState repoState = checkAllHostComponents(stackId, serviceDisplayName, hostEntity);
+        RepositoryVersionState repoState = checkAllHostComponents(stackId, serviceName, serviceType, hostEntity);
         if (null != repoState) {
           hostVersionEntity.setState(repoState);
           hostVersionDAO.get().merge(hostVersionEntity);
@@ -199,14 +201,14 @@ public class HostVersionOutOfSyncListener {
    * @param host    the host entity to find components
    * @return {@code null} if there should be no state change.  non-{@code null} to change it
    */
-  private RepositoryVersionState checkAllHostComponents(StackId stackId, String serviceDisplayName,
+  private RepositoryVersionState checkAllHostComponents(StackId stackId, String serviceName, String stackServiceName,
       HostEntity host) throws AmbariException {
 
     Collection<HostComponentDesiredStateEntity> hostComponents = host.getHostComponentDesiredStateEntities();
 
     for (HostComponentDesiredStateEntity hostComponent : hostComponents) {
       ComponentInfo ci = ami.get().getComponent(stackId.getStackName(), stackId.getStackVersion(),
-              serviceDisplayName, hostComponent.getComponentName());
+        stackServiceName, hostComponent.getComponentName());
 
       if (ci.isVersionAdvertised()) {
         return null;

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java
index f4ce5f9..9fca099 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java
@@ -71,8 +71,8 @@ public class ClusterServiceEntity {
   @Column(name = "service_name", nullable = false, insertable = true, updatable = true)
   private String serviceName;
 
-  @Column(name = "service_display_name", nullable = false, insertable = true, updatable = true)
-  private String serviceDisplayName;
+  @Column(name = "service_type", nullable = false, insertable = true, updatable = true)
+  private String serviceType;
 
   @Basic
   @Column(name = "service_enabled", nullable = false, insertable = true, updatable = true, length = 10)
@@ -126,12 +126,12 @@ public class ClusterServiceEntity {
     this.serviceName = serviceName;
   }
 
-  public String getServiceDisplayName() {
-    return serviceDisplayName;
+  public String getServiceType() {
+    return serviceType;
   }
 
-  public void setServiceDisplayName(String serviceDisplayName) {
-    this.serviceDisplayName = serviceDisplayName;
+  public void setServiceType(String serviceType) {
+    this.serviceType = serviceType;
   }
 
   public int getServiceEnabled() {
@@ -154,7 +154,7 @@ public class ClusterServiceEntity {
     if (serviceId != null ? !serviceId.equals(that.serviceId) : that.serviceId != null) return false;
     if (serviceEnabled != null ? !serviceEnabled.equals(that.serviceEnabled) : that.serviceEnabled != null)
       return false;
-    if (serviceDisplayName != null ? !serviceDisplayName.equals(that.serviceDisplayName) : that.serviceDisplayName != null) return false;
+    if (serviceType != null ? !serviceType.equals(that.serviceType) : that.serviceType != null) return false;
 
     return true;
   }
@@ -164,7 +164,7 @@ public class ClusterServiceEntity {
     int result = clusterId !=null ? clusterId.intValue() : 0;
     result = 31 * result + (serviceGroupId != null ? serviceGroupId.hashCode() : 0);
     result = 31 * result + (serviceId != null ? serviceId.hashCode() : 0);
-    result = 31 * result + (serviceDisplayName != null ? serviceDisplayName.hashCode() : 0);
+    result = 31 * result + (serviceType != null ? serviceType.hashCode() : 0);
     result = 31 * result + serviceEnabled;
     return result;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java b/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
index 0c1059b..8fd878e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java
@@ -69,7 +69,7 @@ public interface Cluster {
    */
   void addService(Service service);
 
-  Service addService(ServiceGroup serviceGroup, String serviceName, String serviceDisplayName,
+  Service addService(ServiceGroup serviceGroup, String serviceName, String serviceType,
                      RepositoryVersionEntity repositoryVersion) throws AmbariException;
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java b/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
index ce0afa9..b9ab79f 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
@@ -36,7 +36,9 @@ public interface Service {
 
   String getName();
 
-  String getServiceDisplayName();
+  String getDisplayName();
+
+  String getServiceType();
 
   Cluster getCluster();
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java
index dd25992..3c44fdf 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java
@@ -44,7 +44,7 @@ public interface ServiceComponent {
 
   String getServiceName();
 
-  String getServiceDisplayName();
+  String getServiceType();
 
   Long getServiceGroupId();
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java
index 1b35072..54c378d 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java
@@ -65,10 +65,10 @@ public interface ServiceComponentHost {
   String getServiceGroupName();
 
   /**
-   * Get the Real Service this object maps to
-   * @return Name of the Real Service
+   * Get the Service Type this object maps to
+   * @return Type of the Service
    */
-  String getServiceDisplayName();
+  String getServiceType();
 
   /**
    * Get the ServiceComponent this object maps to

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java
index 7e66734..df6437e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java
@@ -260,7 +260,7 @@ public class ServiceComponentImpl implements ServiceComponent {
   }
 
   @Override
-  public String getServiceDisplayName() { return service.getServiceDisplayName(); }
+  public String getServiceType() { return service.getServiceType(); }
 
   @Override
   public Long getClusterId() { return service.getClusterId(); }
@@ -439,7 +439,7 @@ public class ServiceComponentImpl implements ServiceComponent {
     }
     ServiceComponentResponse r = new ServiceComponentResponse(getClusterId(),
         cluster.getClusterName(), sg.getServiceGroupId(), sg.getServiceGroupName(), service.getServiceId(),
-        service.getName(), service.getServiceDisplayName(), getName(), desiredStackId, getDesiredState().toString(),
+        service.getName(), service.getServiceType(), getName(), desiredStackId, getDesiredState().toString(),
         getServiceComponentStateCount(), isRecoveryEnabled(), displayName, repositoryVersionEntity.getVersion(),
         getRepositoryState());
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceFactory.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceFactory.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceFactory.java
index 883fa2d..b48d825 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceFactory.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceFactory.java
@@ -34,15 +34,15 @@ public interface ServiceFactory {
    *          the ServiceGroup for the service
    * @param serviceName
    *          the name of the service (not {@code null).
-   * @param serviceDisplayName
-   *          the display name of the service (not {@code null).
+   * @param serviceType
+   *          the type of service (stack service name) (not {@code null).
    * @param desiredRepositoryVersion
    *          the repository version of the service (not {@code null).
    * @return
    */
   Service createNew(Cluster cluster, ServiceGroup serviceGroup,
                     @Assisted("serviceName") String serviceName,
-                    @Assisted("serviceDisplayName") String serviceDisplayName,
+                    @Assisted("serviceType") String serviceType,
                     RepositoryVersionEntity desiredRepositoryVersion);
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
index afb315c..70344b0 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
@@ -107,11 +107,11 @@ public class ServiceImpl implements Service {
   /**
    * The stack service name.
    */
-  private final String serviceDisplayName;
+  private final String serviceType;
 
   @AssistedInject
   ServiceImpl(@Assisted Cluster cluster, @Assisted ServiceGroup serviceGroup,
-              @Assisted("serviceName") String serviceName, @Assisted("serviceDisplayName") String serviceDisplayName,
+              @Assisted("serviceName") String serviceName, @Assisted("serviceType") String serviceType,
               @Assisted RepositoryVersionEntity desiredRepositoryVersion,
               ClusterDAO clusterDAO, ServiceGroupDAO serviceGroupDAO,
               ClusterServiceDAO clusterServiceDAO, ServiceDesiredStateDAO serviceDesiredStateDAO,
@@ -126,14 +126,14 @@ public class ServiceImpl implements Service {
     this.serviceComponentFactory = serviceComponentFactory;
     this.eventPublisher = eventPublisher;
     this.serviceName = serviceName;
-    this.serviceDisplayName = serviceDisplayName;
+    this.serviceType = serviceType;
     this.ambariMetaInfo = ambariMetaInfo;
 
     ClusterServiceEntity serviceEntity = new ClusterServiceEntity();
     serviceEntity.setClusterId(cluster.getClusterId());
     serviceEntity.setServiceGroupId(serviceGroup.getServiceGroupId());
     serviceEntity.setServiceName(serviceName);
-    serviceEntity.setServiceDisplayName(serviceDisplayName);
+    serviceEntity.setServiceType(serviceType);
 
     ServiceDesiredStateEntity serviceDesiredStateEntity = new ServiceDesiredStateEntity();
     serviceDesiredStateEntity.setClusterId(cluster.getClusterId());
@@ -148,7 +148,7 @@ public class ServiceImpl implements Service {
     StackId stackId = desiredRepositoryVersion.getStackId();
 
     ServiceInfo sInfo = ambariMetaInfo.getService(stackId.getStackName(),
-        stackId.getStackVersion(), serviceDisplayName);
+        stackId.getStackVersion(), serviceType);
 
     displayName = sInfo.getDisplayName();
     isClientOnlyService = sInfo.isClientOnlyService();
@@ -175,7 +175,7 @@ public class ServiceImpl implements Service {
     this.eventPublisher = eventPublisher;
     this.serviceId = serviceEntity.getServiceId();
     this.serviceName = serviceEntity.getServiceName();
-    this.serviceDisplayName = serviceEntity.getServiceDisplayName();
+    this.serviceType = serviceEntity.getServiceType();
     this.ambariMetaInfo = ambariMetaInfo;
 
     ServiceDesiredStateEntity serviceDesiredStateEntity = serviceEntity.getServiceDesiredStateEntity();
@@ -193,7 +193,7 @@ public class ServiceImpl implements Service {
             StackId stackId = new StackId(serviceComponentDesiredStateEntity.getDesiredStack());
             LOG.error(String.format("Can not get component info: stackName=%s, stackVersion=%s, serviceName=%s, componentName=%s",
               stackId.getStackName(), stackId.getStackVersion(),
-              serviceEntity.getServiceDisplayName(), serviceComponentDesiredStateEntity.getComponentName()));
+              serviceEntity.getServiceName(), serviceComponentDesiredStateEntity.getComponentName()));
             ex.printStackTrace();
           }
       }
@@ -235,8 +235,11 @@ public class ServiceImpl implements Service {
   public String getName() { return serviceName; }
 
   @Override
-  public String getServiceDisplayName() {
-    return serviceDisplayName;
+  public String getDisplayName() { return displayName; }
+
+  @Override
+  public String getServiceType() {
+    return serviceType;
   }
 
   @Override
@@ -276,7 +279,7 @@ public class ServiceImpl implements Service {
       throw new AmbariException("Cannot add duplicate ServiceComponent"
           + ", clusterName=" + cluster.getClusterName()
           + ", clusterId=" + cluster.getClusterId()
-          + ", serviceName=" + getServiceDisplayName()
+          + ", serviceName=" + getName()
           + ", serviceComponentName=" + component.getName());
     }
 
@@ -297,7 +300,7 @@ public class ServiceImpl implements Service {
     ServiceComponent serviceComponent = components.get(componentName);
     if (null == serviceComponent) {
       throw new ServiceComponentNotFoundException(cluster.getClusterName(),
-          getName(), getServiceDisplayName(), serviceGroup.getServiceGroupName(), componentName);
+          getName(), getServiceType(), serviceGroup.getServiceGroupName(), componentName);
     }
 
     return serviceComponent;
@@ -313,7 +316,7 @@ public class ServiceImpl implements Service {
   public void setDesiredState(State state) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("Setting DesiredState of Service, clusterName={}, clusterId={}, serviceName={}, oldDesiredState={}, newDesiredState={}",
-        cluster.getClusterName(), cluster.getClusterId(), getServiceDisplayName(), getDesiredState(), state);
+        cluster.getClusterName(), cluster.getClusterId(), getName(), getDesiredState(), state);
     }
 
     ServiceDesiredStateEntity serviceDesiredStateEntity = getServiceDesiredStateEntity();
@@ -385,7 +388,7 @@ public class ServiceImpl implements Service {
 
     ServiceResponse r = new ServiceResponse(cluster.getClusterId(), cluster.getClusterName(),
         serviceGroup.getServiceGroupId(), serviceGroup.getServiceGroupName(),
-        getServiceId(), getName(), getServiceDisplayName(), desiredStackId, desiredRespositoryVersion.getVersion(),
+        getServiceId(), getName(), getServiceType(), desiredStackId, desiredRespositoryVersion.getVersion(),
         getRepositoryState(), getDesiredState().toString(), isCredentialStoreSupported(), isCredentialStoreEnabled());
 
     r.setDesiredRepositoryVersionId(desiredRespositoryVersion.getId());
@@ -452,7 +455,7 @@ public class ServiceImpl implements Service {
   public void setCredentialStoreEnabled(boolean credentialStoreEnabled) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("Setting CredentialStoreEnabled of Service, clusterName={}, clusterId={}, serviceName={}, oldCredentialStoreEnabled={}, newCredentialStoreEnabled={}",
-        cluster.getClusterName(), cluster.getClusterId(), getServiceDisplayName(), isCredentialStoreEnabled(), credentialStoreEnabled);
+        cluster.getClusterName(), cluster.getClusterId(), getName(), isCredentialStoreEnabled(), credentialStoreEnabled);
     }
 
     ServiceDesiredStateEntity desiredStateEntity = getServiceDesiredStateEntity();
@@ -469,7 +472,7 @@ public class ServiceImpl implements Service {
   @Override
   public void debugDump(StringBuilder sb) {
     sb.append("Service={ serviceName=").append(getName())
-      .append(", serviceDisplayName=").append(getServiceDisplayName())
+      .append(", serviceType=").append(getServiceType())
       .append(", clusterName=").append(cluster.getClusterName())
       .append(", clusterId=").append(cluster.getClusterId())
       .append(", desiredStackVersion=").append(getDesiredStackId())
@@ -499,7 +502,7 @@ public class ServiceImpl implements Service {
     cluster.addService(this);
 
     ServiceInstalledEvent event = new ServiceInstalledEvent(getClusterId(), stackId.getStackName(),
-        stackId.getStackVersion(), getName(), serviceDisplayName, serviceGroup.getServiceGroupName());
+        stackId.getStackVersion(), getName(), serviceType, serviceGroup.getServiceGroupName());
 
     eventPublisher.publish(event);
   }
@@ -533,8 +536,8 @@ public class ServiceImpl implements Service {
     for (ServiceComponent sc : components.values()) {
       if (!sc.canBeRemoved()) {
         LOG.warn("Found non-removable component when trying to delete service" + ", clusterName="
-            + cluster.getClusterName() + ", serviceName=" + getName() + ", serviceDisplayName="
-            + getServiceDisplayName() + ", componentName=" + sc.getName());
+            + cluster.getClusterName() + ", serviceName=" + getName() + ", serviceType="
+            + getServiceType() + ", componentName=" + sc.getName());
         return false;
       }
     }
@@ -555,7 +558,7 @@ public class ServiceImpl implements Service {
       }
     }
 
-    LOG.info("Deleting all configuration associations for {} on cluster {}", getServiceDisplayName(), cluster.getClusterName());
+    LOG.info("Deleting all configuration associations for {} on cluster {}", getName(), cluster.getClusterName());
 
     List<ServiceConfigEntity> serviceConfigEntities =
       serviceConfigDAO.findByService(cluster.getClusterId(), getName());
@@ -573,13 +576,13 @@ public class ServiceImpl implements Service {
     lock.lock();
     try {
       LOG.info("Deleting all components for service" + ", clusterName=" + cluster.getClusterName()
-          + ", serviceDisplayName=" + getServiceDisplayName());
+          + ", serviceName=" + getName());
       // FIXME check dependencies from meta layer
       for (ServiceComponent component : components.values()) {
         if (!component.canBeRemoved()) {
           throw new AmbariException("Found non removable component when trying to"
               + " delete all components from service" + ", clusterName=" + cluster.getClusterName()
-              + ", getServiceDisplayName=" + getServiceDisplayName() + ", componentName=" + component.getName());
+              + ", serviceName=" + getName() + ", componentName=" + component.getName());
         }
       }
 
@@ -600,12 +603,12 @@ public class ServiceImpl implements Service {
     try {
       ServiceComponent component = getServiceComponent(componentName);
       LOG.info("Deleting servicecomponent for cluster" + ", clusterName=" + cluster.getClusterName()
-          + ", getServiceDisplayName=" + getServiceDisplayName() + ", componentName=" + componentName);
+          + ", serviceName=" + getName() + ", componentName=" + componentName);
       // FIXME check dependencies from meta layer
       if (!component.canBeRemoved()) {
         throw new AmbariException("Could not delete component from cluster"
             + ", clusterName=" + cluster.getClusterName()
-            + ", getServiceDisplayName=" + getServiceDisplayName()
+            + ", serviceName=" + getName()
             + ", componentName=" + componentName);
       }
 
@@ -638,7 +641,7 @@ public class ServiceImpl implements Service {
     }
 
     ServiceRemovedEvent event = new ServiceRemovedEvent(getClusterId(), stackId.getStackName(), stackId.getStackVersion(),
-                                                        getName(), getServiceDisplayName(),
+                                                        getName(), getServiceType(),
                                                         serviceGroup.getServiceGroupName(), components);
 
     eventPublisher.publish(event);

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
index ab0e368..93d81f4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/StackInfo.java
@@ -172,10 +172,10 @@ public class StackInfo implements Comparable<StackInfo>, Validable {
     return services;
   }
 
-  public ServiceInfo getService(String serviceName) {
+  public ServiceInfo getService(String stackServiceName) {
     Collection<ServiceInfo> services = getServices();
     for (ServiceInfo service : services) {
-      if (service.getName().equals(serviceName)) {
+      if (service.getName().equals(stackServiceName)) {
         return service;
       }
     }
@@ -638,7 +638,8 @@ public class StackInfo implements Comparable<StackInfo>, Validable {
   }
 
   /**
-   * @param xml the version definition parsed from {@link LatestRepoCallable}
+   *
+   * @return
    */
   public VersionDefinitionXml getLatestVersionDefinition() {
     return latestVersion;

http://git-wip-us.apache.org/repos/asf/ambari/blob/ba1ec6dd/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
index 6b32d4c..e39f74e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
@@ -856,8 +856,8 @@ public class ClusterImpl implements Cluster {
   @Override
   public void addService(Service service) {
     if (LOG.isDebugEnabled()) {
-      LOG.debug("Adding a new Service, clusterName={}, clusterId={}, serviceName={} serviceDisplayName={}",
-                 getClusterName(), getClusterId(), service.getName(), service.getServiceDisplayName());
+      LOG.debug("Adding a new Service, clusterName={}, clusterId={}, serviceName={} serviceType={}",
+                 getClusterName(), getClusterId(), service.getName(), service.getServiceType());
     }
     services.put(service.getName(), service);
   }
@@ -866,17 +866,17 @@ public class ClusterImpl implements Cluster {
    * {@inheritDoc}
    */
   @Override
-  public Service addService(ServiceGroup serviceGroup, String serviceName, String serviceDisplayName,
+  public Service addService(ServiceGroup serviceGroup, String serviceName, String serviceType,
                             RepositoryVersionEntity repositoryVersion) throws AmbariException {
     if (services.containsKey(serviceName)) {
-      String message = MessageFormat.format("The {0} service already exists in {1}", serviceDisplayName,
+      String message = MessageFormat.format("The {0} service already exists in {1}", serviceName,
         getClusterName());
 
       throw new AmbariException(message);
     }
 
     @Experimental(feature = ExperimentalFeature.PATCH_UPGRADES)
-    Service service = serviceFactory.createNew(this, serviceGroup, serviceName, serviceDisplayName, repositoryVersion);
+    Service service = serviceFactory.createNew(this, serviceGroup, serviceName, serviceType, repositoryVersion);
     addService(service);
 
     return service;