You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ma...@apache.org on 2012/11/07 09:32:13 UTC

svn commit: r1406494 [3/3] - in /incubator/ambari/branches/AMBARI-666: ./ ambari-agent/ ambari-agent/src/main/puppet/modules/hdp-hbase/templates/ ambari-agent/src/main/puppet/modules/hdp-repos/manifests/ ambari-agent/src/main/puppet/modules/hdp-repos/t...

Added: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostComponentConfigMappingDAO.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostComponentConfigMappingDAO.java?rev=1406494&view=auto
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostComponentConfigMappingDAO.java (added)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostComponentConfigMappingDAO.java Wed Nov  7 08:32:11 2012
@@ -0,0 +1,77 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ambari.server.orm.dao;
+
+import java.util.Collection;
+import java.util.List;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.persist.Transactional;
+
+import javax.persistence.EntityManager;
+import javax.persistence.TypedQuery;
+
+import org.apache.ambari.server.orm.entities.HostComponentConfigMappingEntity;
+
+public class HostComponentConfigMappingDAO {
+
+  @Inject
+  Provider<EntityManager> entityManagerProvider;
+  @Inject
+  DaoUtils daoUtils;
+
+  @Transactional
+  public List<HostComponentConfigMappingEntity> findByType(
+      Collection<String> configTypes) {
+    TypedQuery<HostComponentConfigMappingEntity> query =
+        entityManagerProvider.get().createQuery(
+            "SELECT config FROM HostComponentConfigMappingEntity config"
+            + " WHERE config.configType IN ?1",
+        HostComponentConfigMappingEntity.class);
+    return daoUtils.selectList(query, configTypes);
+  }
+
+  @Transactional
+  public void refresh(
+      HostComponentConfigMappingEntity componentConfigMappingEntity) {
+    entityManagerProvider.get().refresh(componentConfigMappingEntity);
+  }
+
+  @Transactional
+  public HostComponentConfigMappingEntity merge(
+      HostComponentConfigMappingEntity componentConfigMappingEntity) {
+    return entityManagerProvider.get().merge(
+        componentConfigMappingEntity);
+  }
+
+  @Transactional
+  public void remove(
+      HostComponentConfigMappingEntity componentConfigMappingEntity) {
+    entityManagerProvider.get().remove(merge(componentConfigMappingEntity));
+  }
+
+  @Transactional
+  public void removeByType(Collection<String> configTypes) {
+    for (HostComponentConfigMappingEntity entity : findByType(configTypes)) {
+      remove(entity);
+    }
+  }
+
+}

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/HostRoleCommandDAO.java Wed Nov  7 08:32:11 2012
@@ -33,10 +33,8 @@ import javax.persistence.EntityManager;
 import javax.persistence.Query;
 import javax.persistence.TypedQuery;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-import java.util.Set;
 
 public class HostRoleCommandDAO {
 

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/Service.java Wed Nov  7 08:32:11 2012
@@ -81,4 +81,6 @@ public interface Service {
   public void deleteServiceComponent(String componentName)
       throws AmbariException;
 
+  public boolean isClientOnlyService();
+
 }

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponent.java Wed Nov  7 08:32:11 2012
@@ -19,6 +19,7 @@
 package org.apache.ambari.server.state;
 
 import java.util.Map;
+import java.util.Set;
 
 import com.google.inject.persist.Transactional;
 import org.apache.ambari.server.AmbariException;
@@ -42,6 +43,8 @@ public interface ServiceComponent {
 
   public void updateDesiredConfigs(Map<String, Config> configs);
 
+  public void deleteDesiredConfigs(Set<String> configTypes);
+
   public StackId getDesiredStackVersion();
 
   public void setDesiredStackVersion(StackId stackVersion);

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java Wed Nov  7 08:32:11 2012
@@ -19,6 +19,7 @@
 package org.apache.ambari.server.state;
 
 import java.util.Map;
+import java.util.Set;
 
 import com.google.inject.persist.Transactional;
 import org.apache.ambari.server.controller.ServiceComponentHostResponse;
@@ -71,6 +72,8 @@ public interface ServiceComponentHost {
 
   public void updateDesiredConfigs(Map<String, Config> configs);
 
+  public void deleteDesiredConfigs(Set<String> configTypes);
+
   public StackId getDesiredStackVersion();
 
   public void setDesiredStackVersion(StackId stackVersion);

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentImpl.java Wed Nov  7 08:32:11 2012
@@ -22,6 +22,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Set;
 
 import com.google.gson.Gson;
 import com.google.inject.Inject;
@@ -60,6 +61,8 @@ public class ServiceComponentImpl implem
   private ServiceComponentHostFactory serviceComponentHostFactory;
   @Inject
   private AmbariMetaInfo ambariMetaInfo;
+  @Inject
+  private ComponentConfigMappingDAO componentConfigMappingDAO;
 
   boolean persisted = false;
   private ServiceComponentDesiredStateEntity desiredStateEntity;
@@ -329,6 +332,7 @@ public class ServiceComponentImpl implem
 
       this.desiredConfigs.put(entry.getKey(), entry.getValue().getVersionTag());
     }
+    saveIfPersisted();
   }
 
   @Override
@@ -419,7 +423,7 @@ public class ServiceComponentImpl implem
 
   @Override
   @Transactional
-  public void refresh() {
+  public synchronized void refresh() {
     if (isPersisted()) {
       ServiceComponentDesiredStateEntityPK pk = new ServiceComponentDesiredStateEntityPK();
       pk.setComponentName(getName());
@@ -432,7 +436,7 @@ public class ServiceComponentImpl implem
   }
 
   @Transactional
-  private void saveIfPersisted() {
+  private synchronized void saveIfPersisted() {
     if (isPersisted()) {
       serviceComponentDesiredStateDAO.merge(desiredStateEntity);
     }
@@ -468,7 +472,8 @@ public class ServiceComponentImpl implem
   }
 
   @Override
-  public synchronized void removeAllServiceComponentHosts() throws AmbariException {
+  public synchronized void removeAllServiceComponentHosts()
+      throws AmbariException {
     LOG.info("Deleting all servicecomponenthosts for component"
         + ", clusterName=" + getClusterName()
         + ", serviceName=" + getServiceName()
@@ -508,4 +513,12 @@ public class ServiceComponentImpl implem
     // FIXME update DB
   }
 
+  @Override
+  public synchronized void deleteDesiredConfigs(Set<String> configTypes) {
+    for (String configType : configTypes) {
+      desiredConfigs.remove(configType);
+    }
+    componentConfigMappingDAO.removeByType(configTypes);
+  }
+
 }

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java Wed Nov  7 08:32:11 2012
@@ -25,6 +25,7 @@ import java.util.Map.Entry;
 
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.ServiceComponentNotFoundException;
+import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.controller.ServiceResponse;
 import org.apache.ambari.server.orm.dao.ClusterDAO;
 import org.apache.ambari.server.orm.dao.ClusterServiceDAO;
@@ -58,10 +59,10 @@ public class ServiceImpl implements Serv
 
   private boolean persisted = false;
   private final Cluster cluster;
-  private Map<String, Config> configs;
   // [ String type -> Config Tag ], no need to hold the direct reference to the config
   private Map<String, String> desiredConfigs;
   private Map<String, ServiceComponent> components;
+  private final boolean isClientOnlyService;
 
   @Inject
   Gson gson;
@@ -77,6 +78,8 @@ public class ServiceImpl implements Serv
   private ClusterDAO clusterDAO;
   @Inject
   private ServiceComponentFactory serviceComponentFactory;
+  @Inject
+  private AmbariMetaInfo ambariMetaInfo;
 
   private void init() {
     // TODO load from DB during restart?
@@ -98,7 +101,14 @@ public class ServiceImpl implements Serv
     this.desiredConfigs = new HashMap<String, String>();
 
     this.components = new HashMap<String, ServiceComponent>();
-    setDesiredStackVersion(cluster.getDesiredStackVersion());
+
+    StackId stackId = cluster.getDesiredStackVersion();
+    setDesiredStackVersion(stackId);
+
+    ServiceInfo sInfo = ambariMetaInfo.getServiceInfo(stackId.getStackName(),
+        stackId.getStackVersion(), serviceName);
+    this.isClientOnlyService = sInfo.isClientOnlyService();
+
     init();
   }
 
@@ -117,8 +127,6 @@ public class ServiceImpl implements Serv
 
     this.components = new HashMap<String, ServiceComponent>();
 
-    this.configs = new HashMap<String, Config>();
-
     if (!serviceEntity.getServiceComponentDesiredStateEntities().isEmpty()) {
       for (ServiceComponentDesiredStateEntity serviceComponentDesiredStateEntity
           : serviceEntity.getServiceComponentDesiredStateEntities()) {
@@ -134,6 +142,10 @@ public class ServiceImpl implements Serv
           mappingEntity.getVersionTag());
     }
 
+    StackId stackId = getDesiredStackVersion();
+    ServiceInfo sInfo = ambariMetaInfo.getServiceInfo(stackId.getStackName(),
+        stackId.getStackVersion(), getName());
+    this.isClientOnlyService = sInfo.isClientOnlyService();
 
     persisted = true;
   }
@@ -465,4 +477,9 @@ public class ServiceImpl implements Serv
     // FIXME update DB
   }
 
+  @Override
+  public boolean isClientOnlyService() {
+    return isClientOnlyService;
+  }
+
 }

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java Wed Nov  7 08:32:11 2012
@@ -75,6 +75,18 @@ public class ServiceInfo {
     return components;
   }
 
+  public boolean isClientOnlyService() {
+    if (components == null || components.isEmpty()) {
+      return false;
+    }
+    for (ComponentInfo compInfo : components) {
+      if (!compInfo.isClient()) {
+        return false;
+      }
+    }
+    return true;
+  }
+
   public ComponentInfo getClientComponent() {
     if (components == null || components.isEmpty()) {
       return null;

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java Wed Nov  7 08:32:11 2012
@@ -375,7 +375,7 @@ public class ClusterImpl implements Clus
     return r;
   }
 
-  public void debugDump(StringBuilder sb) {
+  public synchronized void debugDump(StringBuilder sb) {
     sb.append("Cluster={ clusterName=" + getClusterName()
         + ", clusterId=" + getClusterId()
         + ", desiredStackVersion=" + desiredStackVersion.getStackId()

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/host/HostImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/host/HostImpl.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/host/HostImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/host/HostImpl.java Wed Nov  7 08:32:11 2012
@@ -73,6 +73,24 @@ public class HostImpl implements Host {
 
   private boolean persisted = false;
 
+  private static final String HARDWAREISA = "hardware_isa";
+  private static final String HARDWAREMODEL = "hardware_model";
+  private static final String INTERFACES = "interfaces";
+  private static final String KERNEL = "kernel";
+  private static final String KERNELMAJOREVERSON = "kernel_majorversion";
+  private static final String KERNELRELEASE = "kernel_release";
+  private static final String KERNELVERSION = "kernel_version";
+  private static final String MACADDRESS = "mac_address";
+  private static final String NETMASK = "netmask";
+  private static final String OSFAMILY = "os_family";
+  private static final String PHYSICALPROCESSORCOUNT =
+      "physicalprocessors_count";
+  private static final String PROCESSORCOUNT = "processors_count";
+  private static final String SELINUXENABLED = "selinux_enabled";
+  private static final String SWAPSIZE = "swap_size";
+  private static final String SWAPFREE = "swap_free";
+  private static final String TIMEZONE = "timezone";
+
   private static final StateMachineFactory
     <HostImpl, HostState, HostEventType, HostEvent>
       stateMachineFactory
@@ -317,7 +335,7 @@ public class HostImpl implements Host {
         setIPv6(hostInfo.getIPAddress());
       }
 
-      setCpuCount(hostInfo.getProcessorCount());
+      setCpuCount(hostInfo.getPhysicalProcessorCount());
       setTotalMemBytes(hostInfo.getMemoryTotal());
       setAvailableMemBytes(hostInfo.getFreeMemory());
 
@@ -344,6 +362,61 @@ public class HostImpl implements Host {
       }
 
       // FIXME add all other information into host attributes
+      this.setAgentVersion(new AgentVersion(
+          hostInfo.getAgentUserId()));
+
+      Map<String, String> attrs = new HashMap<String, String>();
+      if (hostInfo.getHardwareIsa() != null) {
+        attrs.put(HARDWAREISA, hostInfo.getHardwareIsa());
+      }
+      if (hostInfo.getHardwareModel() != null) {
+        attrs.put(HARDWAREMODEL, hostInfo.getHardwareModel());
+      }
+      if (hostInfo.getInterfaces() != null) {
+        attrs.put(INTERFACES, hostInfo.getInterfaces());
+      }
+      if (hostInfo.getKernel() != null) {
+        attrs.put(KERNEL, hostInfo.getKernel());
+      }
+      if (hostInfo.getKernelMajVersion() != null) {
+        attrs.put(KERNELMAJOREVERSON, hostInfo.getKernelMajVersion());
+      }
+      if (hostInfo.getKernelRelease() != null) {
+        attrs.put(KERNELRELEASE, hostInfo.getKernelRelease());
+      }
+      if (hostInfo.getKernelVersion() != null) {
+        attrs.put(KERNELVERSION, hostInfo.getKernelVersion());
+      }
+      if (hostInfo.getMacAddress() != null) {
+        attrs.put(MACADDRESS, hostInfo.getMacAddress());
+      }
+      if (hostInfo.getNetMask() != null) {
+        attrs.put(NETMASK, hostInfo.getNetMask());
+      }
+      if (hostInfo.getOSFamily() != null) {
+        attrs.put(OSFAMILY, hostInfo.getOSFamily());
+      }
+      if (hostInfo.getPhysicalProcessorCount() != 0) {
+        attrs.put(PHYSICALPROCESSORCOUNT,
+          Long.toString(hostInfo.getPhysicalProcessorCount()));
+      }
+      if (hostInfo.getProcessorCount() != 0) {
+        attrs.put(PROCESSORCOUNT,
+          Long.toString(hostInfo.getProcessorCount()));
+      }
+      if (Boolean.toString(hostInfo.getSeLinux()) != null) {
+        attrs.put(SELINUXENABLED, Boolean.toString(hostInfo.getSeLinux()));
+      }
+      if (hostInfo.getSwapSize() != null) {
+        attrs.put(SWAPSIZE, hostInfo.getSwapSize());
+      }
+      if (hostInfo.getSwapFree() != null) {
+        attrs.put(SWAPFREE, hostInfo.getSwapFree());
+      }
+      if (hostInfo.getTimeZone() != null) {
+        attrs.put(TIMEZONE, hostInfo.getTimeZone());
+      }
+      setHostAttributes(attrs);
 
       saveIfPersisted();
     }
@@ -665,8 +738,13 @@ public class HostImpl implements Host {
   public void setHostAttributes(Map<String, String> hostAttributes) {
     try {
       writeLock.lock();
-      //TODO should this add attributes and not replace them?
-      hostEntity.setHostAttributes(gson.toJson(hostAttributes,
+      Map<String, String> hostAttrs = gson.<Map<String, String>>
+          fromJson(hostEntity.getHostAttributes(), hostAttributesType);
+      if (hostAttrs == null) {
+        hostAttrs = new HashMap<String, String>();
+      }
+      hostAttrs.putAll(hostAttributes);
+      hostEntity.setHostAttributes(gson.toJson(hostAttrs,
           hostAttributesType));
       saveIfPersisted();
     } finally {

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java Wed Nov  7 08:32:11 2012
@@ -64,6 +64,8 @@ public class ServiceComponentHostImpl im
   ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO;
   @Inject
   Clusters clusters;
+  @Inject
+  private HostComponentConfigMappingDAO hostComponentConfigMappingDAO;
 
   private HostComponentStateEntity stateEntity;
   private HostComponentDesiredStateEntity desiredStateEntity;
@@ -990,4 +992,16 @@ public class ServiceComponentHostImpl im
     return false;
   }
 
+  @Override
+  public void deleteDesiredConfigs(Set<String> configTypes) {
+    try {
+      writeLock.lock();
+      for (String configType : configTypes) {
+        desiredConfigs.remove(configType);
+      }
+      hostComponentConfigMappingDAO.removeByType(configTypes);
+    } finally {
+      writeLock.unlock();
+    }
+  }
 }

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/main/python/setupAgent.py
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/main/python/setupAgent.py?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/main/python/setupAgent.py (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/main/python/setupAgent.py Wed Nov  7 08:32:11 2012
@@ -58,7 +58,7 @@ def installPuppet():
 def installAgent():
   """ Run yum install and make sure the agent install alright """
   # TODO replace rpm with yum -y
-  rpmCommand = ["yum", "install", "-y", "/tmp/ambari-agent*.rpm"]
+  rpmCommand = ["yum", "install", "-y", "--nogpgcheck", "/tmp/ambari-agent*.rpm"]
   return execOsCommand(rpmCommand)
 
 def configureAgent():

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java Wed Nov  7 08:32:11 2012
@@ -1461,7 +1461,7 @@ public class AmbariManagementControllerT
           sch.setState(State.INSTALLED);
         } else {
           ++counter;
-          switch (counter%1) {          
+          switch (counter%1) {
             case 0:
               sch.setState(State.START_FAILED);
               break;
@@ -1565,10 +1565,11 @@ public class AmbariManagementControllerT
   public void testGetServices() throws AmbariException {
     clusters.addCluster("c1");
     Cluster c1 = clusters.getCluster("c1");
+    c1.setDesiredStackVersion(new StackId("HDP-0.1"));
     Service s1 = serviceFactory.createNew(c1, "HDFS");
 
     c1.addService(s1);
-    s1.setDesiredStackVersion(new StackId("HDP-0.0.1"));
+    s1.setDesiredStackVersion(new StackId("HDP-0.1"));
     s1.setDesiredState(State.INSTALLED);
 
     s1.persist();
@@ -1582,7 +1583,7 @@ public class AmbariManagementControllerT
     Assert.assertEquals(s1.getCluster().getClusterName(),
         resp1.getClusterName());
     Assert.assertEquals(s1.getName(), resp1.getServiceName());
-    Assert.assertEquals("HDP-0.0.1", s1.getDesiredStackVersion().getStackId());
+    Assert.assertEquals("HDP-0.1", s1.getDesiredStackVersion().getStackId());
     Assert.assertEquals(s1.getDesiredStackVersion().getStackId(),
         resp1.getDesiredStackVersion());
     Assert.assertEquals(State.INSTALLED.toString(), resp1.getDesiredState());
@@ -1595,6 +1596,8 @@ public class AmbariManagementControllerT
     clusters.addCluster("c2");
     Cluster c1 = clusters.getCluster("c1");
     Cluster c2 = clusters.getCluster("c2");
+    c1.setDesiredStackVersion(new StackId("HDP-0.2"));
+    c2.setDesiredStackVersion(new StackId("HDP-0.2"));
 
     Service s1 = serviceFactory.createNew(c1, "HDFS");
     Service s2 = serviceFactory.createNew(c1, "MAPREDUCE");
@@ -2974,21 +2977,21 @@ public class AmbariManagementControllerT
     assertEquals(2, tasks.size());
 
   }
-  
+
   private void createUser(String userName) throws Exception {
     UserRequest request = new UserRequest(userName);
     request.setPassword("password");
-    
+
     controller.createUsers(new HashSet<UserRequest>(Collections.singleton(request)));
   }
-  
+
   @Test
   public void testCreateAndGetUsers() throws Exception {
     createUser("user1");
-    
+
     Set<UserResponse> r =
         controller.getUsers(Collections.singleton(new UserRequest("user1")));
-            
+
     Assert.assertEquals(1, r.size());
     UserResponse resp = r.iterator().next();
     Assert.assertEquals("user1", resp.getUsername());
@@ -2999,39 +3002,272 @@ public class AmbariManagementControllerT
     createUser("user1");
     createUser("user2");
     createUser("user3");
-    
+
     UserRequest request = new UserRequest(null);
-    
+
     Set<UserResponse> responses = controller.getUsers(Collections.singleton(request));
-    
+
     Assert.assertEquals(3, responses.size());
   }
-  
+
   @Test
   public void testUpdateUsers() throws Exception {
     createUser("user1");
-    
+
     users.createDefaultRoles();
-    
+
     UserRequest request = new UserRequest("user1");
     request.setRoles(new HashSet<String>(){{
       add("user");
       add("admin");
     }});
-    
+
     controller.updateUsers(Collections.singleton(request));
   }
- 
+
   @Test
   public void testDeleteUsers() throws Exception {
     createUser("user1");
-    
-    UserRequest request = new UserRequest("user1");    
+
+    UserRequest request = new UserRequest("user1");
     controller.deleteUsers(Collections.singleton(request));
-    
+
     Set<UserResponse> responses = controller.getUsers(Collections.singleton(new UserRequest(null)));
-    
+
     Assert.assertEquals(0, responses.size());
   }
-  
+
+
+  @Test
+  public void testConfigUpdates() throws AmbariException {
+    String clusterName = "foo1";
+    createCluster(clusterName);
+    clusters.getCluster(clusterName)
+        .setDesiredStackVersion(new StackId("HDP-0.1"));
+    String serviceName = "HDFS";
+    createService(clusterName, serviceName, null);
+    String componentName1 = "NAMENODE";
+    String componentName2 = "DATANODE";
+    String componentName3 = "HDFS_CLIENT";
+    createServiceComponent(clusterName, serviceName, componentName1,
+        State.INIT);
+    createServiceComponent(clusterName, serviceName, componentName2,
+        State.INIT);
+    createServiceComponent(clusterName, serviceName, componentName3,
+        State.INIT);
+
+    String host1 = "h1";
+    clusters.addHost(host1);
+    clusters.getHost("h1").persist();
+    String host2 = "h2";
+    clusters.addHost(host2);
+    clusters.getHost("h2").persist();
+
+    clusters.getHost("h1").setOsType("centos5");
+    clusters.getHost("h2").setOsType("centos6");
+    clusters.mapHostToCluster(host1, clusterName);
+    clusters.mapHostToCluster(host2, clusterName);
+
+
+    // null service should work
+    createServiceComponentHost(clusterName, null, componentName1,
+        host1, null);
+    createServiceComponentHost(clusterName, serviceName, componentName2,
+        host1, null);
+    createServiceComponentHost(clusterName, serviceName, componentName2,
+        host2, null);
+    createServiceComponentHost(clusterName, serviceName, componentName3,
+        host1, null);
+    createServiceComponentHost(clusterName, serviceName, componentName3,
+        host2, null);
+
+    Assert.assertNotNull(clusters.getCluster(clusterName)
+        .getService(serviceName)
+        .getServiceComponent(componentName1)
+        .getServiceComponentHost(host1));
+    Assert.assertNotNull(clusters.getCluster(clusterName)
+        .getService(serviceName)
+        .getServiceComponent(componentName2)
+        .getServiceComponentHost(host1));
+    Assert.assertNotNull(clusters.getCluster(clusterName)
+        .getService(serviceName)
+        .getServiceComponent(componentName2)
+        .getServiceComponentHost(host2));
+    Assert.assertNotNull(clusters.getCluster(clusterName)
+        .getService(serviceName)
+        .getServiceComponent(componentName3)
+        .getServiceComponentHost(host1));
+    Assert.assertNotNull(clusters.getCluster(clusterName)
+        .getService(serviceName)
+        .getServiceComponent(componentName3)
+        .getServiceComponentHost(host2));
+
+    Map<String, String> configs = new HashMap<String, String>();
+    configs.put("a", "b");
+
+    ConfigurationRequest cr1, cr2, cr3, cr4, cr5, cr6, cr7, cr8;
+    cr1 = new ConfigurationRequest(clusterName, "typeA","v1", configs);
+    cr2 = new ConfigurationRequest(clusterName, "typeB","v1", configs);
+    cr3 = new ConfigurationRequest(clusterName, "typeC","v1", configs);
+    cr4 = new ConfigurationRequest(clusterName, "typeD","v1", configs);
+    cr5 = new ConfigurationRequest(clusterName, "typeA","v2", configs);
+    cr6 = new ConfigurationRequest(clusterName, "typeB","v2", configs);
+    cr7 = new ConfigurationRequest(clusterName, "typeC","v2", configs);
+    cr8 = new ConfigurationRequest(clusterName, "typeE","v1", configs);
+    controller.createConfiguration(cr1);
+    controller.createConfiguration(cr2);
+    controller.createConfiguration(cr3);
+    controller.createConfiguration(cr4);
+    controller.createConfiguration(cr5);
+    controller.createConfiguration(cr6);
+    controller.createConfiguration(cr7);
+    controller.createConfiguration(cr8);
+
+    Cluster cluster = clusters.getCluster(clusterName);
+    Service s = cluster.getService(serviceName);
+    ServiceComponent sc1 = s.getServiceComponent(componentName1);
+    ServiceComponent sc2 = s.getServiceComponent(componentName2);
+    ServiceComponentHost sch1 = sc1.getServiceComponentHost(host1);
+
+    Set<ServiceComponentHostRequest> schReqs =
+        new HashSet<ServiceComponentHostRequest>();
+    Set<ServiceComponentRequest> scReqs =
+        new HashSet<ServiceComponentRequest>();
+    Set<ServiceRequest> sReqs = new HashSet<ServiceRequest>();
+    Map<String, String> configVersions = new HashMap<String, String>();
+
+    // update configs at SCH and SC level
+    configVersions.clear();
+    configVersions.put("typeA", "v1");
+    configVersions.put("typeB", "v1");
+    configVersions.put("typeC", "v1");
+    schReqs.clear();
+    schReqs.add(new ServiceComponentHostRequest(clusterName, serviceName,
+        componentName1, host1, configVersions, null));
+    Assert.assertNull(controller.updateHostComponents(schReqs));
+
+    Assert.assertEquals(0, s.getDesiredConfigs().size());
+    Assert.assertEquals(0, sc1.getDesiredConfigs().size());
+    Assert.assertEquals(3, sch1.getDesiredConfigs().size());
+
+    configVersions.clear();
+    configVersions.put("typeC", "v1");
+    configVersions.put("typeD", "v1");
+    scReqs.clear();
+    scReqs.add(new ServiceComponentRequest(clusterName, serviceName,
+        componentName2, configVersions, null));
+    Assert.assertNull(controller.updateComponents(scReqs));
+
+    Assert.assertEquals(0, s.getDesiredConfigs().size());
+    Assert.assertEquals(0, sc1.getDesiredConfigs().size());
+    Assert.assertEquals(2, sc2.getDesiredConfigs().size());
+    Assert.assertEquals(3, sch1.getDesiredConfigs().size());
+
+    // update configs at service level
+    configVersions.clear();
+    configVersions.put("typeA", "v2");
+    configVersions.put("typeC", "v2");
+    configVersions.put("typeE", "v1");
+    sReqs.clear();
+    sReqs.add(new ServiceRequest(clusterName, serviceName, configVersions,
+        null));
+    Assert.assertNull(controller.updateServices(sReqs));
+
+    Assert.assertEquals(3, s.getDesiredConfigs().size());
+    Assert.assertEquals(3, sc1.getDesiredConfigs().size());
+    Assert.assertEquals(4, sc2.getDesiredConfigs().size());
+    Assert.assertEquals(4, sch1.getDesiredConfigs().size());
+
+    Assert.assertEquals("v2",
+        s.getDesiredConfigs().get("typeA").getVersionTag());
+    Assert.assertEquals("v2",
+        s.getDesiredConfigs().get("typeC").getVersionTag());
+    Assert.assertEquals("v1",
+        s.getDesiredConfigs().get("typeE").getVersionTag());
+
+    Assert.assertEquals("v2",
+        sc1.getDesiredConfigs().get("typeA").getVersionTag());
+    Assert.assertEquals("v2",
+        sc1.getDesiredConfigs().get("typeC").getVersionTag());
+    Assert.assertEquals("v1",
+        sc1.getDesiredConfigs().get("typeE").getVersionTag());
+
+    Assert.assertEquals("v2",
+        sc2.getDesiredConfigs().get("typeA").getVersionTag());
+    Assert.assertEquals("v2",
+        sc2.getDesiredConfigs().get("typeC").getVersionTag());
+    Assert.assertEquals("v1",
+        sc2.getDesiredConfigs().get("typeE").getVersionTag());
+    Assert.assertEquals("v1",
+        sc2.getDesiredConfigs().get("typeD").getVersionTag());
+
+    Assert.assertEquals("v2",
+        sch1.getDesiredConfigs().get("typeA").getVersionTag());
+    Assert.assertEquals("v2",
+        sch1.getDesiredConfigs().get("typeC").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeE").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeB").getVersionTag());
+
+    // update configs at SCH level
+    configVersions.clear();
+    configVersions.put("typeA", "v1");
+    configVersions.put("typeB", "v1");
+    configVersions.put("typeC", "v1");
+    schReqs.clear();
+    schReqs.add(new ServiceComponentHostRequest(clusterName, serviceName,
+        componentName1, host1, configVersions, null));
+    Assert.assertNull(controller.updateHostComponents(schReqs));
+
+    Assert.assertEquals(3, s.getDesiredConfigs().size());
+    Assert.assertEquals(3, sc1.getDesiredConfigs().size());
+    Assert.assertEquals(4, sc2.getDesiredConfigs().size());
+    Assert.assertEquals(4, sch1.getDesiredConfigs().size());
+
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeA").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeC").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeE").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeB").getVersionTag());
+
+    // update configs at SC level
+    configVersions.clear();
+    configVersions.put("typeC", "v2");
+    configVersions.put("typeD", "v1");
+    scReqs.clear();
+    scReqs.add(new ServiceComponentRequest(clusterName, serviceName,
+        componentName1, configVersions, null));
+    Assert.assertNull(controller.updateComponents(scReqs));
+
+    Assert.assertEquals(3, s.getDesiredConfigs().size());
+    Assert.assertEquals(4, sc1.getDesiredConfigs().size());
+    Assert.assertEquals(4, sc2.getDesiredConfigs().size());
+    Assert.assertEquals(5, sch1.getDesiredConfigs().size());
+
+    Assert.assertEquals("v2",
+        sc1.getDesiredConfigs().get("typeA").getVersionTag());
+    Assert.assertEquals("v2",
+        sc1.getDesiredConfigs().get("typeC").getVersionTag());
+    Assert.assertEquals("v1",
+        sc2.getDesiredConfigs().get("typeD").getVersionTag());
+    Assert.assertEquals("v1",
+        sc1.getDesiredConfigs().get("typeE").getVersionTag());
+
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeA").getVersionTag());
+    Assert.assertEquals("v2",
+        sch1.getDesiredConfigs().get("typeC").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeD").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeE").getVersionTag());
+    Assert.assertEquals("v1",
+        sch1.getDesiredConfigs().get("typeB").getVersionTag());
+
+  }
+
 }

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ResourceProviderImplTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ResourceProviderImplTest.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ResourceProviderImplTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ResourceProviderImplTest.java Wed Nov  7 08:32:11 2012
@@ -30,7 +30,6 @@ import org.apache.ambari.server.controll
 import org.easymock.EasyMock;
 import org.easymock.IArgumentMatcher;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.easymock.EasyMock.anyObject;
@@ -77,10 +76,10 @@ public class ResourceProviderImplTest {
     Map<PropertyId, Object> properties = new LinkedHashMap<PropertyId, Object>();
 
     // add the cluster name to the properties map
-    properties.put(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID, "Cluster100");
+    properties.put(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID, "Cluster100");
 
     // add the version to the properties map
-    properties.put(ResourceProviderImpl.CLUSTER_VERSION_PROPERTY_ID, "4.02");
+    properties.put(ClusterResourceProvider.CLUSTER_VERSION_PROPERTY_ID, "4.02");
 
     propertySet.add(properties);
 
@@ -88,10 +87,10 @@ public class ResourceProviderImplTest {
     properties = new LinkedHashMap<PropertyId, Object>();
 
     // add the cluster id to the properties map
-    properties.put(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID, 99L);
+    properties.put(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID, 99L);
 
     // add the version to the properties map
-    properties.put(ResourceProviderImpl.CLUSTER_VERSION_PROPERTY_ID, "4.03");
+    properties.put(ClusterResourceProvider.CLUSTER_VERSION_PROPERTY_ID, "4.03");
 
     propertySet.add(properties);
 
@@ -139,8 +138,8 @@ public class ResourceProviderImplTest {
 
     Set<PropertyId> propertyIds = new HashSet<PropertyId>();
 
-    propertyIds.add(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID);
-    propertyIds.add(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID);
+    propertyIds.add(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID);
+    propertyIds.add(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID);
 
     // create the request
     Request request = PropertyHelper.getReadRequest(propertyIds);
@@ -150,26 +149,26 @@ public class ResourceProviderImplTest {
 
     Assert.assertEquals(5, resources.size());
     for (Resource resource : resources) {
-      Long id = (Long) resource.getPropertyValue(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID);
-      String name = (String) resource.getPropertyValue(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID);
+      Long id = (Long) resource.getPropertyValue(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID);
+      String name = (String) resource.getPropertyValue(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID);
       Assert.assertEquals(name, "Cluster" + id);
     }
 
     // get cluster named Cluster102
-    Predicate  predicate = new PredicateBuilder().property(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID).equals("Cluster102").toPredicate();
+    Predicate  predicate = new PredicateBuilder().property(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID).equals("Cluster102").toPredicate();
     resources = provider.getResources(request, predicate);
 
     Assert.assertEquals(1, resources.size());
-    Assert.assertEquals(102L, resources.iterator().next().getPropertyValue(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID));
-    Assert.assertEquals("Cluster102", resources.iterator().next().getPropertyValue(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID));
+    Assert.assertEquals(102L, resources.iterator().next().getPropertyValue(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID));
+    Assert.assertEquals("Cluster102", resources.iterator().next().getPropertyValue(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID));
 
     // get cluster with id == 103
-    predicate = new PredicateBuilder().property(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID).equals(103L).toPredicate();
+    predicate = new PredicateBuilder().property(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID).equals(103L).toPredicate();
     resources = provider.getResources(request, predicate);
 
     Assert.assertEquals(1, resources.size());
-    Assert.assertEquals(103L, resources.iterator().next().getPropertyValue(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID));
-    Assert.assertEquals("Cluster103", resources.iterator().next().getPropertyValue(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID));
+    Assert.assertEquals(103L, resources.iterator().next().getPropertyValue(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID));
+    Assert.assertEquals("Cluster103", resources.iterator().next().getPropertyValue(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID));
 
     // verify
     verify(managementController);
@@ -201,17 +200,17 @@ public class ResourceProviderImplTest {
 
     Map<PropertyId, Object> properties = new LinkedHashMap<PropertyId, Object>();
 
-    properties.put(ResourceProviderImpl.CLUSTER_VERSION_PROPERTY_ID, "4.02");
+    properties.put(ClusterResourceProvider.CLUSTER_VERSION_PROPERTY_ID, "4.02");
 
     // create the request
     Request request = PropertyHelper.getUpdateRequest(properties);
 
     // update the cluster named Cluster102
-    Predicate  predicate = new PredicateBuilder().property(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID).equals("Cluster102").toPredicate();
+    Predicate  predicate = new PredicateBuilder().property(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID).equals("Cluster102").toPredicate();
     provider.updateResources(request, predicate);
 
     // update the cluster where id == 103
-    predicate = new PredicateBuilder().property(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID).equals(103L).toPredicate();
+    predicate = new PredicateBuilder().property(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID).equals(103L).toPredicate();
     provider.updateResources(request, predicate);
 
     // verify
@@ -243,11 +242,11 @@ public class ResourceProviderImplTest {
         managementController);
 
     // delete the cluster named Cluster102
-    Predicate  predicate = new PredicateBuilder().property(ResourceProviderImpl.CLUSTER_NAME_PROPERTY_ID).equals("Cluster102").toPredicate();
+    Predicate  predicate = new PredicateBuilder().property(ClusterResourceProvider.CLUSTER_NAME_PROPERTY_ID).equals("Cluster102").toPredicate();
     provider.deleteResources(predicate);
 
     // delete the cluster where id == 103
-    predicate = new PredicateBuilder().property(ResourceProviderImpl.CLUSTER_ID_PROPERTY_ID).equals(103L).toPredicate();
+    predicate = new PredicateBuilder().property(ClusterResourceProvider.CLUSTER_ID_PROPERTY_ID).equals(103L).toPredicate();
     provider.deleteResources(predicate);
 
     // verify
@@ -281,9 +280,9 @@ public class ResourceProviderImplTest {
     Map<PropertyId, Object> properties = new LinkedHashMap<PropertyId, Object>();
 
     // add properties to the request map
-    properties.put(ResourceProviderImpl.SERVICE_CLUSTER_NAME_PROPERTY_ID, "Cluster100");
-    properties.put(ResourceProviderImpl.SERVICE_SERVICE_NAME_PROPERTY_ID, "Service100");
-    properties.put(ResourceProviderImpl.SERVICE_SERVICE_STATE_PROPERTY_ID, "DEPLOYED");
+    properties.put(ServiceResourceProvider.SERVICE_CLUSTER_NAME_PROPERTY_ID, "Cluster100");
+    properties.put(ServiceResourceProvider.SERVICE_SERVICE_NAME_PROPERTY_ID, "Service100");
+    properties.put(ServiceResourceProvider.SERVICE_SERVICE_STATE_PROPERTY_ID, "DEPLOYED");
 
     propertySet.add(properties);
 
@@ -333,8 +332,8 @@ public class ResourceProviderImplTest {
 
     Set<PropertyId> propertyIds = new HashSet<PropertyId>();
 
-    propertyIds.add(ResourceProviderImpl.SERVICE_CLUSTER_NAME_PROPERTY_ID);
-    propertyIds.add(ResourceProviderImpl.SERVICE_SERVICE_NAME_PROPERTY_ID);
+    propertyIds.add(ServiceResourceProvider.SERVICE_CLUSTER_NAME_PROPERTY_ID);
+    propertyIds.add(ServiceResourceProvider.SERVICE_SERVICE_NAME_PROPERTY_ID);
 
     // create the request
     Request request = PropertyHelper.getReadRequest(propertyIds);
@@ -345,9 +344,9 @@ public class ResourceProviderImplTest {
     Assert.assertEquals(5, resources.size());
     Set<String> names = new HashSet<String>();
     for (Resource resource : resources) {
-      String clusterName = (String) resource.getPropertyValue(ResourceProviderImpl.SERVICE_CLUSTER_NAME_PROPERTY_ID);
+      String clusterName = (String) resource.getPropertyValue(ServiceResourceProvider.SERVICE_CLUSTER_NAME_PROPERTY_ID);
       Assert.assertEquals("Cluster100", clusterName);
-      names.add((String) resource.getPropertyValue(ResourceProviderImpl.SERVICE_SERVICE_NAME_PROPERTY_ID));
+      names.add((String) resource.getPropertyValue(ServiceResourceProvider.SERVICE_SERVICE_NAME_PROPERTY_ID));
     }
     // Make sure that all of the response objects got moved into resources
     for (ServiceResponse serviceResponse : allResponse ) {
@@ -355,23 +354,23 @@ public class ResourceProviderImplTest {
     }
 
     // get service named Service102
-    Predicate  predicate = new PredicateBuilder().property(ResourceProviderImpl.SERVICE_SERVICE_NAME_PROPERTY_ID).equals("Service102").toPredicate();
+    Predicate  predicate = new PredicateBuilder().property(ServiceResourceProvider.SERVICE_SERVICE_NAME_PROPERTY_ID).equals("Service102").toPredicate();
     resources = provider.getResources(request, predicate);
 
     Assert.assertEquals(1, resources.size());
-    Assert.assertEquals("Cluster100", resources.iterator().next().getPropertyValue(ResourceProviderImpl.SERVICE_CLUSTER_NAME_PROPERTY_ID));
-    Assert.assertEquals("Service102", resources.iterator().next().getPropertyValue(ResourceProviderImpl.SERVICE_SERVICE_NAME_PROPERTY_ID));
+    Assert.assertEquals("Cluster100", resources.iterator().next().getPropertyValue(ServiceResourceProvider.SERVICE_CLUSTER_NAME_PROPERTY_ID));
+    Assert.assertEquals("Service102", resources.iterator().next().getPropertyValue(ServiceResourceProvider.SERVICE_SERVICE_NAME_PROPERTY_ID));
 
     // get services where state == "DEPLOYED"
-    predicate = new PredicateBuilder().property(ResourceProviderImpl.SERVICE_SERVICE_STATE_PROPERTY_ID).equals("DEPLOYED").toPredicate();
+    predicate = new PredicateBuilder().property(ServiceResourceProvider.SERVICE_SERVICE_STATE_PROPERTY_ID).equals("DEPLOYED").toPredicate();
     resources = provider.getResources(request, predicate);
 
     Assert.assertEquals(3, resources.size());
     names = new HashSet<String>();
     for (Resource resource : resources) {
-      String clusterName = (String) resource.getPropertyValue(ResourceProviderImpl.SERVICE_CLUSTER_NAME_PROPERTY_ID);
+      String clusterName = (String) resource.getPropertyValue(ServiceResourceProvider.SERVICE_CLUSTER_NAME_PROPERTY_ID);
       Assert.assertEquals("Cluster100", clusterName);
-      names.add((String) resource.getPropertyValue(ResourceProviderImpl.SERVICE_SERVICE_NAME_PROPERTY_ID));
+      names.add((String) resource.getPropertyValue(ServiceResourceProvider.SERVICE_SERVICE_NAME_PROPERTY_ID));
     }
     // Make sure that all of the response objects got moved into resources
     for (ServiceResponse serviceResponse : stateResponse ) {
@@ -404,14 +403,14 @@ public class ResourceProviderImplTest {
     // add the property map to a set for the request.
     Map<PropertyId, Object> properties = new LinkedHashMap<PropertyId, Object>();
 
-    properties.put(ResourceProviderImpl.SERVICE_SERVICE_STATE_PROPERTY_ID, "DEPLOYED");
+    properties.put(ServiceResourceProvider.SERVICE_SERVICE_STATE_PROPERTY_ID, "DEPLOYED");
 
     // create the request
     Request request = PropertyHelper.getUpdateRequest(properties);
 
     // update the service named Service102
-    Predicate  predicate = new PredicateBuilder().property(ResourceProviderImpl.SERVICE_CLUSTER_NAME_PROPERTY_ID).equals("Cluster100").
-        and().property(ResourceProviderImpl.SERVICE_SERVICE_NAME_PROPERTY_ID).equals("Service102").toPredicate();
+    Predicate  predicate = new PredicateBuilder().property(ServiceResourceProvider.SERVICE_CLUSTER_NAME_PROPERTY_ID).equals("Cluster100").
+        and().property(ServiceResourceProvider.SERVICE_SERVICE_NAME_PROPERTY_ID).equals("Service102").toPredicate();
     provider.updateResources(request, predicate);
 
     // verify

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceTest.java Wed Nov  7 08:32:11 2012
@@ -72,7 +72,7 @@ public class ServiceTest {
 
   @Test
   public void testCreateService() throws AmbariException {
-    String serviceName = "s1";
+    String serviceName = "HDFS";
     Service s = serviceFactory.createNew(cluster, serviceName);
     cluster.addService(s);
     s.persist();
@@ -91,7 +91,7 @@ public class ServiceTest {
 
   @Test
   public void testGetAndSetServiceInfo() throws AmbariException {
-    String serviceName = "s1";
+    String serviceName = "HDFS";
     Service s = serviceFactory.createNew(cluster, serviceName);
     cluster.addService(s);
     s.persist();
@@ -190,7 +190,7 @@ public class ServiceTest {
 
   @Test
   public void testConvertToResponse() throws AmbariException {
-    String serviceName = "s1";
+    String serviceName = "HDFS";
     Service s = serviceFactory.createNew(cluster, serviceName);
     cluster.addService(s);
     Service service = cluster.getService(serviceName);

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java Wed Nov  7 08:32:11 2012
@@ -196,8 +196,8 @@ public class ClusterTest {
     // public Service getService(String serviceName) throws AmbariException;
     // public Map<String, Service> getServices();
 
-    Service s1 = serviceFactory.createNew(c1, "s1");
-    Service s2 = serviceFactory.createNew(c1, "s2");
+    Service s1 = serviceFactory.createNew(c1, "HDFS");
+    Service s2 = serviceFactory.createNew(c1, "MAPREDUCE");
 
     c1.addService(s1);
     c1.addService(s2);
@@ -205,7 +205,7 @@ public class ClusterTest {
     s1.persist();
     s2.persist();
 
-    Service s3 = serviceFactory.createNew(c1, "s2");
+    Service s3 = serviceFactory.createNew(c1, "MAPREDUCE");
 
     try {
       c1.addService(s3);
@@ -214,13 +214,13 @@ public class ClusterTest {
       // Expected
     }
 
-    Service s = c1.getService("s1");
+    Service s = c1.getService("HDFS");
     Assert.assertNotNull(s);
-    Assert.assertEquals("s1", s.getName());
+    Assert.assertEquals("HDFS", s.getName());
     Assert.assertEquals(c1.getClusterId(), s.getClusterId());
 
     try {
-      c1.getService("s3");
+      c1.getService("HBASE");
       fail("Expected error for unknown service");
     } catch (Exception e) {
       // Expected
@@ -228,8 +228,8 @@ public class ClusterTest {
 
     Map<String, Service> services = c1.getServices();
     Assert.assertEquals(2, services.size());
-    Assert.assertTrue(services.containsKey("s1"));
-    Assert.assertTrue(services.containsKey("s2"));
+    Assert.assertTrue(services.containsKey("HDFS"));
+    Assert.assertTrue(services.containsKey("MAPREDUCE"));
   }
 
 

Modified: incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java?rev=1406494&r1=1406493&r2=1406494&view=diff
==============================================================================
--- incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java (original)
+++ incubator/ambari/branches/AMBARI-666/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java Wed Nov  7 08:32:11 2012
@@ -68,7 +68,7 @@ public class HostTest {
   public void testHostInfoImport() throws AmbariException{
     HostInfo info = new HostInfo();
     info.setMemorySize(100);
-    info.setProcessorCount(10);
+    info.setPhysicalProcessorCount(10);
     List<DiskInfo> mounts = new ArrayList<DiskInfo>();
     mounts.add(new DiskInfo("/dev/sda", "/mnt/disk1",
         "5000000", "4000000", "10%", "size"));
@@ -88,7 +88,7 @@ public class HostTest {
     Assert.assertEquals(info.getHostName(), host.getHostName());
     Assert.assertEquals(info.getFreeMemory(), host.getAvailableMemBytes());
     Assert.assertEquals(info.getMemoryTotal(), host.getTotalMemBytes());
-    Assert.assertEquals(info.getProcessorCount(), host.getCpuCount());
+    Assert.assertEquals(info.getPhysicalProcessorCount(), host.getCpuCount());
     Assert.assertEquals(info.getMounts().size(), host.getDisksInfo().size());
     Assert.assertEquals(info.getArchitecture(), host.getOsArch());
     Assert.assertEquals(info.getOS(), host.getOsType());