You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2016/04/26 15:19:02 UTC

[1/2] ambari git commit: AMBARI-16082. Test Refresh Phase 1 (ncole)

Repository: ambari
Updated Branches:
  refs/heads/trunk 071c175a1 -> 962be15c7


http://git-wip-us.apache.org/repos/asf/ambari/blob/962be15c/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
index 4ab9099..c9e14a1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
@@ -48,6 +48,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
+import java.util.UUID;
 
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.HttpsURLConnection;
@@ -92,7 +93,6 @@ import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.controller.utilities.PredicateBuilder;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.ambari.server.customactions.ActionDefinition;
-import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 import org.apache.ambari.server.metadata.ActionMetadata;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
@@ -108,13 +108,13 @@ import org.apache.ambari.server.orm.dao.WidgetLayoutDAO;
 import org.apache.ambari.server.orm.entities.ExecutionCommandEntity;
 import org.apache.ambari.server.orm.entities.HostEntity;
 import org.apache.ambari.server.orm.entities.HostRoleCommandEntity;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
 import org.apache.ambari.server.orm.entities.StackEntity;
 import org.apache.ambari.server.orm.entities.WidgetEntity;
 import org.apache.ambari.server.orm.entities.WidgetLayoutEntity;
 import org.apache.ambari.server.orm.entities.WidgetLayoutUserWidgetEntity;
 import org.apache.ambari.server.security.TestAuthenticationFactory;
 import org.apache.ambari.server.security.authorization.AuthorizationException;
-import org.apache.ambari.server.security.authorization.Users;
 import org.apache.ambari.server.serveraction.ServerAction;
 import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Clusters;
@@ -155,17 +155,18 @@ import org.apache.commons.collections.CollectionUtils;
 import org.easymock.Capture;
 import org.easymock.EasyMock;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
-import org.powermock.api.mockito.PowerMockito;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.security.core.context.SecurityContextHolder;
 
+import com.google.common.collect.Lists;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.google.inject.AbstractModule;
@@ -213,17 +214,16 @@ public class AmbariManagementControllerTest {
 
   private static final String CLUSTER_HOST_INFO = "clusterHostInfo";
 
-  private AmbariManagementController controller;
-  private Clusters clusters;
+  private static AmbariManagementController controller;
+  private static Clusters clusters;
   private ActionDBAccessor actionDB;
-  private Injector injector;
+  private static Injector injector;
   private ServiceFactory serviceFactory;
   private ServiceComponentFactory serviceComponentFactory;
   private ServiceComponentHostFactory serviceComponentHostFactory;
-  private AmbariMetaInfo ambariMetaInfo;
-  private Users users;
+  private static AmbariMetaInfo ambariMetaInfo;
   private EntityManager entityManager;
-  private Properties backingProperties;
+  private static Properties backingProperties;
   private Configuration configuration;
   private ConfigHelper configHelper;
   private ConfigGroupFactory configGroupFactory;
@@ -232,35 +232,36 @@ public class AmbariManagementControllerTest {
   private HostDAO hostDAO;
   private TopologyHostInfoDAO topologyHostInfoDAO;
   private HostRoleCommandDAO hostRoleCommandDAO;
-  private TopologyManager topologyManager;
 
   @Rule
   public ExpectedException expectedException = ExpectedException.none();
 
   @BeforeClass
-  public static void setupAuthentication() {
-    // Set authenticated user so that authorization checks will pass
+  public static void beforeClass() throws Exception {
+    InMemoryDefaultTestModule module = new InMemoryDefaultTestModule();
+    backingProperties = module.getProperties();
+    injector = Guice.createInjector(module);
+    injector.getInstance(GuiceJpaInitializer.class);
+    ambariMetaInfo = injector.getInstance(AmbariMetaInfo.class);
+    ambariMetaInfo.init();
+    clusters = injector.getInstance(Clusters.class);
+    controller = injector.getInstance(AmbariManagementController.class);
+    TopologyManager topologyManager = injector.getInstance(TopologyManager.class);
+    StageUtils.setTopologyManager(topologyManager);
+    ActionManager.setTopologyManager(topologyManager);
+
     SecurityContextHolder.getContext().setAuthentication(TestAuthenticationFactory.createAdministrator());
   }
 
   @Before
   public void setup() throws Exception {
-    InMemoryDefaultTestModule module = new InMemoryDefaultTestModule();
-    backingProperties = module.getProperties();
-    injector = Guice.createInjector(module);
-    injector.getInstance(GuiceJpaInitializer.class);
     entityManager = injector.getInstance(EntityManager.class);
-    clusters = injector.getInstance(Clusters.class);
     actionDB = injector.getInstance(ActionDBAccessor.class);
-    controller = injector.getInstance(AmbariManagementController.class);
     serviceFactory = injector.getInstance(ServiceFactory.class);
     serviceComponentFactory = injector.getInstance(
         ServiceComponentFactory.class);
     serviceComponentHostFactory = injector.getInstance(
         ServiceComponentHostFactory.class);
-    ambariMetaInfo = injector.getInstance(AmbariMetaInfo.class);
-    ambariMetaInfo.init();
-    users = injector.getInstance(Users.class);
     configuration = injector.getInstance(Configuration.class);
     configHelper = injector.getInstance(ConfigHelper.class);
     configGroupFactory = injector.getInstance(ConfigGroupFactory.class);
@@ -269,19 +270,25 @@ public class AmbariManagementControllerTest {
     hostDAO = injector.getInstance(HostDAO.class);
     topologyHostInfoDAO = injector.getInstance(TopologyHostInfoDAO.class);
     hostRoleCommandDAO = injector.getInstance(HostRoleCommandDAO.class);
-    topologyManager = injector.getInstance(TopologyManager.class);
-    StageUtils.setTopologyManager(topologyManager);
-    ActionManager.setTopologyManager(topologyManager);
     EasyMock.replay(injector.getInstance(AuditLogger.class));
   }
 
   @After
   public void teardown() {
-    injector.getInstance(PersistService.class).stop();
     actionDB = null;
     EasyMock.reset(injector.getInstance(AuditLogger.class));
   }
 
+  @AfterClass
+  public static void afterClass() throws Exception {
+    injector.getInstance(PersistService.class).stop();
+  }
+
+  private static String getUniqueName() {
+    return UUID.randomUUID().toString();
+  }
+
+
   private void setOsFamily(Host host, String osFamily, String osVersion) {
     Map<String, String> hostAttributes = new HashMap<String, String>();
     hostAttributes.put("os_family", osFamily);
@@ -295,10 +302,14 @@ public class AmbariManagementControllerTest {
   }
 
   private void addHostToCluster(String hostname, String clusterName) throws AmbariException {
-    clusters.addHost(hostname);
-    setOsFamily(clusters.getHost(hostname), "redhat", "6.3");
-    clusters.getHost(hostname).setState(HostState.HEALTHY);
-    clusters.getHost(hostname).persist();
+
+    if (!clusters.hostExists(hostname)) {
+      clusters.addHost(hostname);
+      setOsFamily(clusters.getHost(hostname), "redhat", "6.3");
+      clusters.getHost(hostname).setState(HostState.HEALTHY);
+      clusters.getHost(hostname).persist();
+    }
+
     if (null != clusterName) {
       clusters.mapHostToCluster(hostname, clusterName);
     }
@@ -514,13 +525,6 @@ public class AmbariManagementControllerTest {
     return installService(clusterName, serviceName, runSmokeTests, reconfigureClients, null, null);
   }
 
-  private long installService(String clusterName, String serviceName,
-                              boolean runSmokeTests, boolean reconfigureClients,
-                              Map<String, String> mapRequestPropsInput)
-      throws AmbariException, AuthorizationException {
-    return installService(clusterName, serviceName, runSmokeTests, reconfigureClients, null, mapRequestPropsInput);
-  }
-
 
   /**
    * Allows to set maintenanceStateHelper. For use when there is anything to test
@@ -531,15 +535,19 @@ public class AmbariManagementControllerTest {
                               MaintenanceStateHelper maintenanceStateHelper,
                               Map<String, String> mapRequestPropsInput)
       throws AmbariException, AuthorizationException {
+
     ServiceRequest r = new ServiceRequest(clusterName, serviceName,
         State.INSTALLED.toString());
+
     Set<ServiceRequest> requests = new HashSet<ServiceRequest>();
     requests.add(r);
+
     Map<String, String> mapRequestProps = new HashMap<String, String>();
     mapRequestProps.put("context", "Called from a test");
     if(mapRequestPropsInput != null) {
       mapRequestProps.putAll(mapRequestPropsInput);
     }
+
     RequestStatusResponse resp = ServiceResourceProviderTest.updateServices(controller, requests,
         mapRequestProps, runSmokeTests, reconfigureClients, maintenanceStateHelper);
 
@@ -567,17 +575,17 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testCreateClusterSimple() throws AmbariException, AuthorizationException {
-    String clusterName = "foo1";
-    createCluster(clusterName);
+    String cluster1 = getUniqueName();
+    createCluster(cluster1);
     Set<ClusterResponse> r =
         controller.getClusters(Collections.singleton(
-            new ClusterRequest(null, clusterName, null, null)));
+            new ClusterRequest(null, cluster1, null, null)));
     Assert.assertEquals(1, r.size());
     ClusterResponse c = r.iterator().next();
-    Assert.assertEquals(clusterName, c.getClusterName());
+    Assert.assertEquals(cluster1, c.getClusterName());
 
     try {
-      createCluster(clusterName);
+      createCluster(cluster1);
       fail("Duplicate cluster creation should fail");
     } catch (AmbariException e) {
       // Expected
@@ -585,16 +593,16 @@ public class AmbariManagementControllerTest {
   }
 
   @Test
-  public void testCreateClusterWithInvalidStack() {
-    // TODO implement test after meta data integration
-  }
-
-  @Test
   public void testCreateClusterWithHostMapping() throws AmbariException, AuthorizationException {
+    String cluster1 = getUniqueName();
+
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
+
     Set<String> hostNames = new HashSet<String>();
-    hostNames.add("h1");
-    hostNames.add("h2");
-    ClusterRequest r = new ClusterRequest(null, "c1", "HDP-0.1", hostNames);
+    hostNames.add(host1);
+    hostNames.add(host2);
+    ClusterRequest r = new ClusterRequest(null, cluster1, "HDP-0.1", hostNames);
 
     try {
       controller.createCluster(r);
@@ -604,21 +612,21 @@ public class AmbariManagementControllerTest {
     }
 
     try {
-      clusters.getCluster("c1");
+      clusters.getCluster(cluster1);
       fail("Expected to fail for non created cluster");
     } catch (ClusterNotFoundException e) {
       // Expected
     }
 
-    clusters.addHost("h1");
-    clusters.addHost("h2");
-    setOsFamily(clusters.getHost("h1"), "redhat", "6.3");
-    setOsFamily(clusters.getHost("h2"), "redhat", "6.3");
-    clusters.getHost("h1").persist();
-    clusters.getHost("h2").persist();
+    clusters.addHost(host1);
+    clusters.addHost(host2);
+    setOsFamily(clusters.getHost(host1), "redhat", "6.3");
+    setOsFamily(clusters.getHost(host2), "redhat", "6.3");
+    clusters.getHost(host1).persist();
+    clusters.getHost(host2).persist();
 
     controller.createCluster(r);
-    Assert.assertNotNull(clusters.getCluster("c1"));
+    Assert.assertNotNull(clusters.getCluster(cluster1));
   }
 
   @Test
@@ -647,7 +655,7 @@ public class AmbariManagementControllerTest {
     }
     r.setClusterId(null);
 
-    r.setClusterName("foo");
+    r.setClusterName(getUniqueName());
     try {
       controller.createCluster(r);
      fail("Expected create cluster for invalid request - no stack version");
@@ -669,27 +677,27 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testCreateServicesSimple() throws AmbariException, AuthorizationException {
-    String clusterName = "foo1";
-    createCluster(clusterName);
+    String cluster1 = getUniqueName();
+    createCluster(cluster1);
     String serviceName = "HDFS";
-    clusters.getCluster("foo1").setDesiredStackVersion(
+    clusters.getCluster(cluster1).setDesiredStackVersion(
         new StackId("HDP-0.1"));
-    createService(clusterName, serviceName, State.INIT);
+    createService(cluster1, serviceName, State.INIT);
 
     Service s =
-        clusters.getCluster(clusterName).getService(serviceName);
+        clusters.getCluster(cluster1).getService(serviceName);
     Assert.assertNotNull(s);
     Assert.assertEquals(serviceName, s.getName());
-    Assert.assertEquals(clusterName, s.getCluster().getClusterName());
+    Assert.assertEquals(cluster1, s.getCluster().getClusterName());
 
-    ServiceRequest req = new ServiceRequest(clusterName, serviceName, null);
+    ServiceRequest req = new ServiceRequest(cluster1, serviceName, null);
 
     Set<ServiceResponse> r =
         ServiceResourceProviderTest.getServices(controller, Collections.singleton(req));
     Assert.assertEquals(1, r.size());
     ServiceResponse resp = r.iterator().next();
     Assert.assertEquals(serviceName, resp.getServiceName());
-    Assert.assertEquals(clusterName, resp.getClusterName());
+    Assert.assertEquals(cluster1, resp.getClusterName());
     Assert.assertEquals(State.INIT.toString(),
         resp.getDesiredState());
     Assert.assertEquals("HDP-0.1", resp.getDesiredStackVersion());
@@ -736,13 +744,17 @@ public class AmbariManagementControllerTest {
       Assert.assertTrue(checkExceptionType(e, ClusterNotFoundException.class));
     }
 
-    clusters.addCluster("foo", new StackId("HDP-0.1"));
-    clusters.addCluster("bar", new StackId("HDP-0.1"));
+    String cluster1 = getUniqueName();
+    String cluster2 = getUniqueName();
+
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
+    clusters.addCluster(cluster2, new StackId("HDP-0.1"));
 
     try {
       set1.clear();
-      ServiceRequest valid1 = new ServiceRequest("foo", "HDFS", null);
-      ServiceRequest valid2 = new ServiceRequest("foo", "HDFS", null);
+      ServiceRequest valid1 = new ServiceRequest(cluster1, "HDFS", null);
+      ServiceRequest valid2 = new ServiceRequest(cluster1, "HDFS", null);
       set1.add(valid1);
       set1.add(valid2);
       ServiceResourceProviderTest.createServices(controller, set1);
@@ -753,7 +765,7 @@ public class AmbariManagementControllerTest {
 
     try {
       set1.clear();
-      ServiceRequest valid1 = new ServiceRequest("foo", "bar", null);
+      ServiceRequest valid1 = new ServiceRequest(cluster1, "bar", null);
       set1.add(valid1);
       ServiceResourceProviderTest.createServices(controller, set1);
       fail("Expected failure for invalid service");
@@ -764,8 +776,8 @@ public class AmbariManagementControllerTest {
 
     try {
       set1.clear();
-      ServiceRequest valid1 = new ServiceRequest("foo", "HDFS", null);
-      ServiceRequest valid2 = new ServiceRequest("bar", "HDFS", null);
+      ServiceRequest valid1 = new ServiceRequest(cluster1, "HDFS", null);
+      ServiceRequest valid2 = new ServiceRequest(cluster2, "HDFS", null);
       set1.add(valid1);
       set1.add(valid2);
       ServiceResourceProviderTest.createServices(controller, set1);
@@ -774,18 +786,18 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    Assert.assertNotNull(clusters.getCluster("foo"));
-    Assert.assertEquals(0, clusters.getCluster("foo").getServices().size());
+    Assert.assertNotNull(clusters.getCluster(cluster1));
+    Assert.assertEquals(0, clusters.getCluster(cluster1).getServices().size());
 
     set1.clear();
-    ServiceRequest valid = new ServiceRequest("foo", "HDFS", null);
+    ServiceRequest valid = new ServiceRequest(cluster1, "HDFS", null);
     set1.add(valid);
     ServiceResourceProviderTest.createServices(controller, set1);
 
     try {
       set1.clear();
-      ServiceRequest valid1 = new ServiceRequest("foo", "HDFS", null);
-      ServiceRequest valid2 = new ServiceRequest("foo", "HDFS", null);
+      ServiceRequest valid1 = new ServiceRequest(cluster1, "HDFS", null);
+      ServiceRequest valid2 = new ServiceRequest(cluster1, "HDFS", null);
       set1.add(valid1);
       set1.add(valid2);
       ServiceResourceProviderTest.createServices(controller, set1);
@@ -794,40 +806,40 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    Assert.assertEquals(1, clusters.getCluster("foo").getServices().size());
+    Assert.assertEquals(1, clusters.getCluster(cluster1).getServices().size());
 
   }
 
   @Test
   public void testCreateServiceWithInvalidInfo() throws AmbariException, AuthorizationException {
-    String clusterName = "foo1";
-    createCluster(clusterName);
+    String cluster1 = getUniqueName();
+    createCluster(cluster1);
     String serviceName = "HDFS";
     try {
-      createService(clusterName, serviceName, State.INSTALLING);
+      createService(cluster1, serviceName, State.INSTALLING);
       fail("Service creation should fail for invalid state");
     } catch (Exception e) {
       // Expected
     }
     try {
-      clusters.getCluster(clusterName).getService(serviceName);
+      clusters.getCluster(cluster1).getService(serviceName);
       fail("Service creation should have failed");
     } catch (Exception e) {
       // Expected
     }
     try {
-      createService(clusterName, serviceName, State.INSTALLED);
+      createService(cluster1, serviceName, State.INSTALLED);
       fail("Service creation should fail for invalid initial state");
     } catch (Exception e) {
       // Expected
     }
 
-    createService(clusterName, serviceName, null);
+    createService(cluster1, serviceName, null);
 
     String serviceName2 = "MAPREDUCE";
-    createService(clusterName, serviceName2, State.INIT);
+    createService(cluster1, serviceName2, State.INIT);
 
-    ServiceRequest r = new ServiceRequest(clusterName, null, null);
+    ServiceRequest r = new ServiceRequest(cluster1, null, null);
     Set<ServiceResponse> response = ServiceResourceProviderTest.getServices(controller, Collections.singleton(r));
     Assert.assertEquals(2, response.size());
 
@@ -842,17 +854,20 @@ public class AmbariManagementControllerTest {
   @Test
   public void testCreateServicesMultiple() throws AmbariException, AuthorizationException {
     Set<ServiceRequest> set1 = new HashSet<ServiceRequest>();
-    clusters.addCluster("foo", new StackId("HDP-0.1"));
 
-    ServiceRequest valid1 = new ServiceRequest("foo", "HDFS", null);
-    ServiceRequest valid2 = new ServiceRequest("foo", "MAPREDUCE", null);
+    String cluster1 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
+
+    ServiceRequest valid1 = new ServiceRequest(cluster1, "HDFS", null);
+    ServiceRequest valid2 = new ServiceRequest(cluster1, "MAPREDUCE", null);
     set1.add(valid1);
     set1.add(valid2);
     ServiceResourceProviderTest.createServices(controller, set1);
 
     try {
-      valid1 = new ServiceRequest("foo", "PIG", null);
-      valid2 = new ServiceRequest("foo", "MAPREDUCE", null);
+      valid1 = new ServiceRequest(cluster1, "PIG", null);
+      valid2 = new ServiceRequest(cluster1, "MAPREDUCE", null);
       set1.add(valid1);
       set1.add(valid2);
       ServiceResourceProviderTest.createServices(controller, set1);
@@ -862,49 +877,49 @@ public class AmbariManagementControllerTest {
       Assert.assertTrue(checkExceptionType(e, DuplicateResourceException.class));
     }
 
-    Assert.assertNotNull(clusters.getCluster("foo"));
-    Assert.assertEquals(2, clusters.getCluster("foo").getServices().size());
-    Assert.assertNotNull(clusters.getCluster("foo").getService("HDFS"));
-    Assert.assertNotNull(clusters.getCluster("foo").getService("MAPREDUCE"));
+    Assert.assertNotNull(clusters.getCluster(cluster1));
+    Assert.assertEquals(2, clusters.getCluster(cluster1).getServices().size());
+    Assert.assertNotNull(clusters.getCluster(cluster1).getService("HDFS"));
+    Assert.assertNotNull(clusters.getCluster(cluster1).getService("MAPREDUCE"));
   }
 
   @Test
   public void testCreateServiceComponentSimple() throws AmbariException, AuthorizationException {
-    String clusterName = "foo1";
-    createCluster(clusterName);
+    String cluster1 = getUniqueName();
+    createCluster(cluster1);
     String serviceName = "HDFS";
-    createService(clusterName, serviceName, null);
+    createService(cluster1, serviceName, null);
 
     String componentName = "NAMENODE";
     try {
-      createServiceComponent(clusterName, serviceName, componentName,
+      createServiceComponent(cluster1, serviceName, componentName,
           State.INSTALLING);
       fail("ServiceComponent creation should fail for invalid state");
     } catch (Exception e) {
       // Expected
     }
     try {
-      clusters.getCluster(clusterName).getService(serviceName)
+      clusters.getCluster(cluster1).getService(serviceName)
           .getServiceComponent(componentName);
       fail("ServiceComponent creation should have failed");
     } catch (Exception e) {
       // Expected
     }
 
-    createServiceComponent(clusterName, serviceName, componentName,
+    createServiceComponent(cluster1, serviceName, componentName,
         State.INIT);
-    Assert.assertNotNull(clusters.getCluster(clusterName)
+    Assert.assertNotNull(clusters.getCluster(cluster1)
         .getService(serviceName).getServiceComponent(componentName));
 
     ServiceComponentRequest r =
-        new ServiceComponentRequest(clusterName, serviceName, null, null);
+        new ServiceComponentRequest(cluster1, serviceName, null, null);
     Set<ServiceComponentResponse> response = ComponentResourceProviderTest.getComponents(controller, Collections.singleton(r));
     Assert.assertEquals(1, response.size());
 
     ServiceComponentResponse sc = response.iterator().next();
     Assert.assertEquals(State.INIT.toString(), sc.getDesiredState());
     Assert.assertEquals(componentName, sc.getComponentName());
-    Assert.assertEquals(clusterName, sc.getClusterName());
+    Assert.assertEquals(cluster1, sc.getClusterName());
     Assert.assertEquals(serviceName, sc.getServiceName());
   }
 
@@ -917,6 +932,8 @@ public class AmbariManagementControllerTest {
     // invalid request params
     // invalid service
     // invalid cluster
+    String cluster1 = getUniqueName();
+    String cluster2 = getUniqueName();
 
     Set<ServiceComponentRequest> set1 = new HashSet<ServiceComponentRequest>();
 
@@ -934,7 +951,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentRequest rInvalid =
-          new ServiceComponentRequest("c1", null, null, null);
+          new ServiceComponentRequest(cluster1, null, null, null);
       set1.add(rInvalid);
       ComponentResourceProviderTest.createComponents(controller, set1);
       fail("Expected failure for invalid requests");
@@ -945,7 +962,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentRequest rInvalid =
-          new ServiceComponentRequest("c1", "s1", null, null);
+          new ServiceComponentRequest(cluster1, "s1", null, null);
       set1.add(rInvalid);
       ComponentResourceProviderTest.createComponents(controller, set1);
       fail("Expected failure for invalid requests");
@@ -956,7 +973,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentRequest rInvalid =
-          new ServiceComponentRequest("c1", "s1", "sc1", null);
+          new ServiceComponentRequest(cluster1, "s1", "sc1", null);
       set1.add(rInvalid);
       ComponentResourceProviderTest.createComponents(controller, set1);
       fail("Expected failure for invalid cluster");
@@ -964,13 +981,13 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    clusters.addCluster("c1", new StackId("HDP-0.1"));
-    clusters.addCluster("c2", new StackId("HDP-0.1"));
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
+    clusters.addCluster(cluster2, new StackId("HDP-0.1"));
 
     try {
       set1.clear();
       ServiceComponentRequest rInvalid =
-          new ServiceComponentRequest("c1", "HDFS", "NAMENODE", null);
+          new ServiceComponentRequest(cluster1, "HDFS", "NAMENODE", null);
       set1.add(rInvalid);
       ComponentResourceProviderTest.createComponents(controller, set1);
       fail("Expected failure for invalid service");
@@ -978,7 +995,7 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    Cluster c1 = clusters.getCluster("c1");
+    Cluster c1 = clusters.getCluster(cluster1);
     StackId stackId = new StackId("HDP-0.1");
     c1.setDesiredStackVersion(stackId);
     helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
@@ -993,11 +1010,11 @@ public class AmbariManagementControllerTest {
 
     set1.clear();
     ServiceComponentRequest valid1 =
-        new ServiceComponentRequest("c1", "HDFS", "NAMENODE", null);
+        new ServiceComponentRequest(cluster1, "HDFS", "NAMENODE", null);
     ServiceComponentRequest valid2 =
-        new ServiceComponentRequest("c1", "MAPREDUCE", "JOBTRACKER", null);
+        new ServiceComponentRequest(cluster1, "MAPREDUCE", "JOBTRACKER", null);
     ServiceComponentRequest valid3 =
-        new ServiceComponentRequest("c1", "MAPREDUCE", "TASKTRACKER", null);
+        new ServiceComponentRequest(cluster1, "MAPREDUCE", "TASKTRACKER", null);
     set1.add(valid1);
     set1.add(valid2);
     set1.add(valid3);
@@ -1006,9 +1023,9 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentRequest rInvalid1 =
-          new ServiceComponentRequest("c1", "HDFS", "HDFS_CLIENT", null);
+          new ServiceComponentRequest(cluster1, "HDFS", "HDFS_CLIENT", null);
       ServiceComponentRequest rInvalid2 =
-          new ServiceComponentRequest("c1", "HDFS", "HDFS_CLIENT", null);
+          new ServiceComponentRequest(cluster1, "HDFS", "HDFS_CLIENT", null);
       set1.add(rInvalid1);
       set1.add(rInvalid2);
       ComponentResourceProviderTest.createComponents(controller, set1);
@@ -1020,9 +1037,9 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentRequest rInvalid1 =
-          new ServiceComponentRequest("c1", "HDFS", "HDFS_CLIENT", null);
+          new ServiceComponentRequest(cluster1, "HDFS", "HDFS_CLIENT", null);
       ServiceComponentRequest rInvalid2 =
-          new ServiceComponentRequest("c2", "HDFS", "HDFS_CLIENT", null);
+          new ServiceComponentRequest(cluster2, "HDFS", "HDFS_CLIENT", null);
       set1.add(rInvalid1);
       set1.add(rInvalid2);
       ComponentResourceProviderTest.createComponents(controller, set1);
@@ -1034,7 +1051,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentRequest rInvalid =
-          new ServiceComponentRequest("c1", "HDFS", "NAMENODE", null);
+          new ServiceComponentRequest(cluster1, "HDFS", "NAMENODE", null);
       set1.add(rInvalid);
       ComponentResourceProviderTest.createComponents(controller, set1);
       fail("Expected failure for already existing component");
@@ -1057,28 +1074,28 @@ public class AmbariManagementControllerTest {
   //TODO this test becomes unstable after this patch, not reproducible locally but fails in apache jenkins jobs
   //investigate and reenable
   public void testGetExecutionCommandWithClusterEnvForRetry() throws Exception {
-    String clusterName = "foo1";
-    createCluster(clusterName);
-    Cluster cluster = clusters.getCluster(clusterName);
-    clusters.getCluster(clusterName)
+    String cluster1 = getUniqueName();
+    createCluster(cluster1);
+    Cluster cluster = clusters.getCluster(cluster1);
+    clusters.getCluster(cluster1)
         .setDesiredStackVersion(new StackId("HDP-0.1"));
     String serviceName = "HDFS";
-    createService(clusterName, serviceName, null);
+    createService(cluster1, serviceName, null);
     String componentName1 = "NAMENODE";
     String componentName2 = "DATANODE";
     String componentName3 = "HDFS_CLIENT";
-    createServiceComponent(clusterName, serviceName, componentName1,
+    createServiceComponent(cluster1, serviceName, componentName1,
                            State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName2,
+    createServiceComponent(cluster1, serviceName, componentName2,
                            State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName3,
+    createServiceComponent(cluster1, serviceName, componentName3,
                            State.INIT);
 
-    String host1 = "h1";
-    String host2 = "h2";
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
 
-    addHostToCluster(host1, clusterName);
-    addHostToCluster(host2, clusterName);
+    addHostToCluster(host1, cluster1);
+    addHostToCluster(host2, cluster1);
 
     Map<String, String> configs = new HashMap<String, String>();
     configs.put("a", "b");
@@ -1087,29 +1104,29 @@ public class AmbariManagementControllerTest {
     configs.put("commands_to_retry", "INSTALL");
 
     ConfigurationRequest cr1;
-    cr1 = new ConfigurationRequest(clusterName, "cluster-env","version1",
+    cr1 = new ConfigurationRequest(cluster1, "cluster-env","version1",
                                    configs, null);
 
-    ClusterRequest crReq = new ClusterRequest(cluster.getClusterId(), clusterName, null, null);
+    ClusterRequest crReq = new ClusterRequest(cluster.getClusterId(), cluster1, null, null);
     crReq.setDesiredConfig(Collections.singletonList(cr1));
     controller.updateClusters(Collections.singleton(crReq), null);
 
     Map<String, String> mapRequestProps = new HashMap<String, String>();
     mapRequestProps.put("context", "Called from a test");
 
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
                                host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
                                host2, null);
-    createServiceComponentHost(clusterName, serviceName, componentName3,
+    createServiceComponentHost(cluster1, serviceName, componentName3,
                                host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName3,
+    createServiceComponentHost(cluster1, serviceName, componentName3,
                                host2, null);
 
     // issue an install command, expect retry is enabled
     ServiceComponentHostRequest
         schr =
-        new ServiceComponentHostRequest(clusterName, "HDFS", "DATANODE", host2, "INSTALLED");
+        new ServiceComponentHostRequest(cluster1, "HDFS", "DATANODE", host2, "INSTALLED");
     Map<String, String> requestProps = new HashMap<String, String>();
     requestProps.put("phase", "INITIAL_INSTALL");
     RequestStatusResponse rsr = updateHostComponents(Collections.singleton(schr), requestProps, false);
@@ -1130,12 +1147,12 @@ public class AmbariManagementControllerTest {
     assertTrue(ec.getCommandParams().containsKey("command_retry_enabled"));
     assertEquals("true", ec.getCommandParams().get("command_retry_enabled"));
 
-    for (ServiceComponentHost sch : clusters.getCluster(clusterName).getServiceComponentHosts(host2)) {
+    for (ServiceComponentHost sch : clusters.getCluster(cluster1).getServiceComponentHosts(host2)) {
       sch.setState(State.INSTALLED);
     }
 
     // issue an start command but no retry as phase is only INITIAL_INSTALL
-    schr = new ServiceComponentHostRequest(clusterName, "HDFS", "DATANODE", host2, "STARTED");
+    schr = new ServiceComponentHostRequest(cluster1, "HDFS", "DATANODE", host2, "STARTED");
     rsr = updateHostComponents(Collections.singleton(schr), requestProps, false);
     stages = actionDB.getAllStages(rsr.getRequestId());
     Assert.assertEquals(1, stages.size());
@@ -1157,15 +1174,15 @@ public class AmbariManagementControllerTest {
     configs.put("command_retry_max_time_in_sec", "12");
     configs.put("commands_to_retry", "START");
 
-    cr1 = new ConfigurationRequest(clusterName, "cluster-env","version2",
+    cr1 = new ConfigurationRequest(cluster1, "cluster-env","version2",
                                    configs, null);
-    crReq = new ClusterRequest(cluster.getClusterId(), clusterName, null, null);
+    crReq = new ClusterRequest(cluster.getClusterId(), cluster1, null, null);
     crReq.setDesiredConfig(Collections.singletonList(cr1));
     controller.updateClusters(Collections.singleton(crReq), null);
 
     // issue an start command and retry is expected
     requestProps.put("phase", "INITIAL_START");
-    schr = new ServiceComponentHostRequest(clusterName, "HDFS", "DATANODE", host2, "STARTED");
+    schr = new ServiceComponentHostRequest(cluster1, "HDFS", "DATANODE", host2, "STARTED");
     rsr = updateHostComponents(Collections.singleton(schr), requestProps, false);
     stages = actionDB.getAllStages(rsr.getRequestId());
     Assert.assertEquals(1, stages.size());
@@ -1188,14 +1205,14 @@ public class AmbariManagementControllerTest {
     configs.put("command_retry_max_time_in_sec", "-5");
     configs.put("commands_to_retry2", "START");
 
-    cr1 = new ConfigurationRequest(clusterName, "cluster-env","version3",
+    cr1 = new ConfigurationRequest(cluster1, "cluster-env","version3",
                                    configs, null);
-    crReq = new ClusterRequest(cluster.getClusterId(), clusterName, null, null);
+    crReq = new ClusterRequest(cluster.getClusterId(), cluster1, null, null);
     crReq.setDesiredConfig(Collections.singletonList(cr1));
     controller.updateClusters(Collections.singleton(crReq), null);
 
     requestProps.put("phase", "INITIAL_START");
-    schr = new ServiceComponentHostRequest(clusterName, "HDFS", "DATANODE", host2, "STARTED");
+    schr = new ServiceComponentHostRequest(cluster1, "HDFS", "DATANODE", host2, "STARTED");
     rsr = updateHostComponents(Collections.singleton(schr), requestProps, false);
     stages = actionDB.getAllStages(rsr.getRequestId());
     Assert.assertEquals(1, stages.size());
@@ -1217,12 +1234,14 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testGetExecutionCommand() throws Exception {
-    testCreateServiceComponentHostSimple();
+    String cluster1 = getUniqueName();
+    final String host1 = getUniqueName();
+
+    createServiceComponentHostSimple(cluster1, host1, getUniqueName());
 
-    String clusterName = "foo1";
     String serviceName = "HDFS";
 
-    Cluster cluster = clusters.getCluster(clusterName);
+    Cluster cluster = clusters.getCluster(cluster1);
     Service s1 = cluster.getService(serviceName);
 
     // Create and attach config
@@ -1230,26 +1249,28 @@ public class AmbariManagementControllerTest {
     configs.put("a", "b");
 
     ConfigurationRequest cr1,cr2;
-    cr1 = new ConfigurationRequest(clusterName, "core-site","version1",
+    cr1 = new ConfigurationRequest(cluster1, "core-site","version1",
                                    configs, null);
-    cr2 = new ConfigurationRequest(clusterName, "hdfs-site","version1",
+    cr2 = new ConfigurationRequest(cluster1, "hdfs-site","version1",
                                    configs, null);
 
-    ClusterRequest crReq = new ClusterRequest(cluster.getClusterId(), clusterName, null, null);
+    ClusterRequest crReq = new ClusterRequest(cluster.getClusterId(), cluster1, null, null);
     crReq.setDesiredConfig(Collections.singletonList(cr1));
     controller.updateClusters(Collections.singleton(crReq), null);
-    crReq = new ClusterRequest(cluster.getClusterId(), clusterName, null, null);
+    crReq = new ClusterRequest(cluster.getClusterId(), cluster1, null, null);
     crReq.setDesiredConfig(Collections.singletonList(cr2));
     controller.updateClusters(Collections.singleton(crReq), null);
 
+
+
     // Install
-    installService(clusterName, serviceName, false, false);
+    installService(cluster1, serviceName, false, false);
     ExecutionCommand ec =
         controller.getExecutionCommand(cluster,
-                                       s1.getServiceComponent("NAMENODE").getServiceComponentHost("h1"),
+                                       s1.getServiceComponent("NAMENODE").getServiceComponentHost(host1),
                                        RoleCommand.START);
     assertEquals("1-0", ec.getCommandId());
-    assertEquals("foo1", ec.getClusterName());
+    assertEquals(cluster1, ec.getClusterName());
     Map<String, Map<String, String>> configurations = ec.getConfigurations();
     assertNotNull(configurations);
     assertEquals(2, configurations.size());
@@ -1272,10 +1293,13 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testCreateServiceComponentMultiple() throws AmbariException, AuthorizationException {
-    clusters.addCluster("c1", new StackId("HDP-0.2"));
-    clusters.addCluster("c2", new StackId("HDP-0.2"));
+    String cluster1 = getUniqueName();
+    String cluster2 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.2"));
+    clusters.addCluster(cluster2, new StackId("HDP-0.2"));
 
-    Cluster c1 = clusters.getCluster("c1");
+    Cluster c1 = clusters.getCluster(cluster1);
     StackId stackId = new StackId("HDP-0.2");
 
     helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
@@ -1291,11 +1315,11 @@ public class AmbariManagementControllerTest {
 
     Set<ServiceComponentRequest> set1 = new HashSet<ServiceComponentRequest>();
     ServiceComponentRequest valid1 =
-        new ServiceComponentRequest("c1", "HDFS", "NAMENODE", null);
+        new ServiceComponentRequest(cluster1, "HDFS", "NAMENODE", null);
     ServiceComponentRequest valid2 =
-        new ServiceComponentRequest("c1", "MAPREDUCE", "JOBTRACKER", null);
+        new ServiceComponentRequest(cluster1, "MAPREDUCE", "JOBTRACKER", null);
     ServiceComponentRequest valid3 =
-        new ServiceComponentRequest("c1", "MAPREDUCE", "TASKTRACKER", null);
+        new ServiceComponentRequest(cluster1, "MAPREDUCE", "TASKTRACKER", null);
     set1.add(valid1);
     set1.add(valid2);
     set1.add(valid3);
@@ -1312,8 +1336,15 @@ public class AmbariManagementControllerTest {
   }
 
   @Test
-  public void testCreateServiceComponentHostSimple() throws AmbariException, AuthorizationException {
-    String clusterName = "foo1";
+  public void testCreateServiceComponentHostSimple1() throws Exception {
+    String cluster1 = getUniqueName();
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
+    createServiceComponentHostSimple(cluster1, host1, host2);
+  }
+
+  private void createServiceComponentHostSimple(String clusterName, String host1,
+      String host2) throws AmbariException, AuthorizationException {
     createCluster(clusterName);
     clusters.getCluster(clusterName)
         .setDesiredStackVersion(new StackId("HDP-0.1"));
@@ -1329,9 +1360,6 @@ public class AmbariManagementControllerTest {
     createServiceComponent(clusterName, serviceName, componentName3,
         State.INIT);
 
-    String host1 = "h1";
-    String host2 = "h2";
-
     try {
       createServiceComponentHost(clusterName, serviceName, componentName1,
           host1, State.INIT);
@@ -1414,34 +1442,34 @@ public class AmbariManagementControllerTest {
   @Test
   public void testCreateServiceComponentHostMultiple()
       throws AmbariException, AuthorizationException {
-    String clusterName = "foo1";
-    createCluster(clusterName);
+    String cluster1 = getUniqueName();
+    createCluster(cluster1);
     String serviceName = "HDFS";
-    createService(clusterName, serviceName, null);
+    createService(cluster1, serviceName, null);
     String componentName1 = "NAMENODE";
     String componentName2 = "DATANODE";
-    createServiceComponent(clusterName, serviceName, componentName1,
+    createServiceComponent(cluster1, serviceName, componentName1,
         State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName2,
+    createServiceComponent(cluster1, serviceName, componentName2,
         State.INIT);
-    String host1 = "h1";
-    String host2 = "h2";
-    addHostToCluster(host1, clusterName);
-    addHostToCluster(host2, clusterName);
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
+    addHostToCluster(host1, cluster1);
+    addHostToCluster(host2, cluster1);
 
     Set<ServiceComponentHostRequest> set1 =
         new HashSet<ServiceComponentHostRequest>();
     ServiceComponentHostRequest r1 =
-        new ServiceComponentHostRequest(clusterName, serviceName,
+        new ServiceComponentHostRequest(cluster1, serviceName,
             componentName1, host1, State.INIT.toString());
     ServiceComponentHostRequest r2 =
-        new ServiceComponentHostRequest(clusterName, serviceName,
+        new ServiceComponentHostRequest(cluster1, serviceName,
             componentName2, host1, State.INIT.toString());
     ServiceComponentHostRequest r3 =
-        new ServiceComponentHostRequest(clusterName, serviceName,
+        new ServiceComponentHostRequest(cluster1, serviceName,
             componentName1, host2, State.INIT.toString());
     ServiceComponentHostRequest r4 =
-        new ServiceComponentHostRequest(clusterName, serviceName,
+        new ServiceComponentHostRequest(cluster1, serviceName,
             componentName2, host2, State.INIT.toString());
 
     set1.add(r1);
@@ -1451,20 +1479,20 @@ public class AmbariManagementControllerTest {
     controller.createHostComponents(set1);
 
     Assert.assertEquals(2,
-      clusters.getCluster(clusterName).getServiceComponentHosts(host1).size());
+      clusters.getCluster(cluster1).getServiceComponentHosts(host1).size());
     Assert.assertEquals(2,
-      clusters.getCluster(clusterName).getServiceComponentHosts(host2).size());
+      clusters.getCluster(cluster1).getServiceComponentHosts(host2).size());
 
-    Assert.assertNotNull(clusters.getCluster(clusterName)
+    Assert.assertNotNull(clusters.getCluster(cluster1)
         .getService(serviceName).getServiceComponent(componentName1)
         .getServiceComponentHost(host1));
-    Assert.assertNotNull(clusters.getCluster(clusterName)
+    Assert.assertNotNull(clusters.getCluster(cluster1)
         .getService(serviceName).getServiceComponent(componentName1)
         .getServiceComponentHost(host2));
-    Assert.assertNotNull(clusters.getCluster(clusterName)
+    Assert.assertNotNull(clusters.getCluster(cluster1)
         .getService(serviceName).getServiceComponent(componentName2)
         .getServiceComponentHost(host1));
-    Assert.assertNotNull(clusters.getCluster(clusterName)
+    Assert.assertNotNull(clusters.getCluster(cluster1)
         .getService(serviceName).getServiceComponent(componentName2)
         .getServiceComponentHost(host2));
   }
@@ -1528,10 +1556,18 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
+    String host3 = getUniqueName();
+
+    String clusterFoo = getUniqueName();
+    String cluster1 = getUniqueName();
+    String cluster2 = getUniqueName();
+
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h1", null);
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host1, null);
       set1.add(rInvalid);
       controller.createHostComponents(set1);
       fail("Expected failure for invalid cluster");
@@ -1539,12 +1575,15 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    clusters.addCluster("foo", new StackId("HDP-0.2"));
-    clusters.addCluster("c1", new StackId("HDP-0.2"));
-    clusters.addCluster("c2", new StackId("HDP-0.2"));
-    Cluster foo = clusters.getCluster("foo");
-    Cluster c1 = clusters.getCluster("c1");
-    Cluster c2 = clusters.getCluster("c2");
+    clusters.addCluster(clusterFoo, new StackId("HDP-0.2"));
+    clusters.addCluster(cluster1, new StackId("HDP-0.2"));
+    clusters.addCluster(cluster2, new StackId("HDP-0.2"));
+    Cluster foo = clusters.getCluster(clusterFoo);
+    Cluster c1 = clusters.getCluster(cluster1);
+    Cluster c2 = clusters.getCluster(cluster2);
+
+
+
 
     StackId stackId = new StackId("HDP-0.2");
     helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
@@ -1572,7 +1611,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h1", null);
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host1, null);
       set1.add(rInvalid);
       controller.createHostComponents(set1);
       fail("Expected failure for invalid service");
@@ -1594,7 +1633,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h1", null);
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host1, null);
       set1.add(rInvalid);
       controller.createHostComponents(set1);
       fail("Expected failure for invalid service");
@@ -1616,7 +1655,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h1", null);
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host1, null);
       set1.add(rInvalid);
       controller.createHostComponents(set1);
       fail("Expected failure for invalid host");
@@ -1624,20 +1663,20 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    clusters.addHost("h1");
-    Host h1 = clusters.getHost("h1");
+    clusters.addHost(host1);
+    Host h1 = clusters.getHost(host1);
     h1.setIPv4("ipv41");
     h1.setIPv6("ipv61");
     setOsFamily(h1, "redhat", "6.3");
     h1.persist();
-    clusters.addHost("h2");
-    Host h2 = clusters.getHost("h2");
+    clusters.addHost(host2);
+    Host h2 = clusters.getHost(host2);
     h2.setIPv4("ipv42");
     h2.setIPv6("ipv62");
     setOsFamily(h2, "redhat", "6.3");
     h2.persist();
-    clusters.addHost("h3");
-    Host h3 = clusters.getHost("h3");
+    clusters.addHost(host3);
+    Host h3 = clusters.getHost(host3);
     h3.setIPv4("ipv43");
     h3.setIPv6("ipv63");
     setOsFamily(h3, "redhat", "6.3");
@@ -1646,7 +1685,7 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h1", null);
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host1, null);
       set1.add(rInvalid);
       controller.createHostComponents(set1);
       fail("Expected failure for invalid host cluster mapping");
@@ -1655,25 +1694,25 @@ public class AmbariManagementControllerTest {
     }
 
     Set<String> hostnames = new HashSet<String>();
-    hostnames.add("h1");
-    hostnames.add("h2");
-    hostnames.add("h3");
-    clusters.mapHostsToCluster(hostnames, "foo");
-    clusters.mapHostsToCluster(hostnames, "c1");
-    clusters.mapHostsToCluster(hostnames, "c2");
+    hostnames.add(host1);
+    hostnames.add(host2);
+    hostnames.add(host3);
+    clusters.mapHostsToCluster(hostnames, clusterFoo);
+    clusters.mapHostsToCluster(hostnames, cluster1);
+    clusters.mapHostsToCluster(hostnames, cluster2);
 
     set1.clear();
     ServiceComponentHostRequest valid =
-        new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h1", null);
+        new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host1, null);
     set1.add(valid);
     controller.createHostComponents(set1);
 
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid1 =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h2", null);
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host2, null);
       ServiceComponentHostRequest rInvalid2 =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h2", null);
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host2, null);
       set1.add(rInvalid1);
       set1.add(rInvalid2);
       controller.createHostComponents(set1);
@@ -1685,10 +1724,10 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid1 =
-          new ServiceComponentHostRequest("c1", "HDFS", "NAMENODE", "h2",
+          new ServiceComponentHostRequest(cluster1, "HDFS", "NAMENODE", host2,
               null);
       ServiceComponentHostRequest rInvalid2 =
-          new ServiceComponentHostRequest("c2", "HDFS", "NAMENODE", "h3",
+          new ServiceComponentHostRequest(cluster2, "HDFS", "NAMENODE", host3,
               null);
       set1.add(rInvalid1);
       set1.add(rInvalid2);
@@ -1701,10 +1740,10 @@ public class AmbariManagementControllerTest {
     try {
       set1.clear();
       ServiceComponentHostRequest rInvalid1 =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h1",
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host1,
               null);
       ServiceComponentHostRequest rInvalid2 =
-          new ServiceComponentHostRequest("foo", "HDFS", "NAMENODE", "h2",
+          new ServiceComponentHostRequest(clusterFoo, "HDFS", "NAMENODE", host2,
               null);
       set1.add(rInvalid1);
       set1.add(rInvalid2);
@@ -1714,35 +1753,39 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    Assert.assertEquals(1, foo.getServiceComponentHosts("h1").size());
-    Assert.assertEquals(0, foo.getServiceComponentHosts("h2").size());
-    Assert.assertEquals(0, foo.getServiceComponentHosts("h3").size());
+    Assert.assertEquals(1, foo.getServiceComponentHosts(host1).size());
+    Assert.assertEquals(0, foo.getServiceComponentHosts(host2).size());
+    Assert.assertEquals(0, foo.getServiceComponentHosts(host3).size());
 
     set1.clear();
     ServiceComponentHostRequest valid1 =
-        new ServiceComponentHostRequest("c1", "HDFS", "NAMENODE", "h1",
+        new ServiceComponentHostRequest(cluster1, "HDFS", "NAMENODE", host1,
             null);
     set1.add(valid1);
     controller.createHostComponents(set1);
 
     set1.clear();
     ServiceComponentHostRequest valid2 =
-        new ServiceComponentHostRequest("c2", "HDFS", "NAMENODE", "h1",
+        new ServiceComponentHostRequest(cluster2, "HDFS", "NAMENODE", host1,
             null);
     set1.add(valid2);
     controller.createHostComponents(set1);
 
-    Assert.assertEquals(1, foo.getServiceComponentHosts("h1").size());
-    Assert.assertEquals(1, c1.getServiceComponentHosts("h1").size());
-    Assert.assertEquals(1, c2.getServiceComponentHosts("h1").size());
+    Assert.assertEquals(1, foo.getServiceComponentHosts(host1).size());
+    Assert.assertEquals(1, c1.getServiceComponentHosts(host1).size());
+    Assert.assertEquals(1, c2.getServiceComponentHosts(host1).size());
 
   }
 
   @Test
   public void testCreateHostSimple() throws AmbariException {
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
+
+
     Map<String, String> hostAttributes = null;
 
-    HostRequest r1 = new HostRequest("h1", null, hostAttributes);
+    HostRequest r1 = new HostRequest(host1, null, hostAttributes);
     r1.toString();
 
     Set<HostRequest> requests = new HashSet<HostRequest>();
@@ -1754,14 +1797,14 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    clusters.addHost("h1");
-    clusters.addHost("h2");
-    setOsFamily(clusters.getHost("h1"), "redhat", "5.9");
-    setOsFamily(clusters.getHost("h2"), "redhat", "5.9");
-    clusters.getHost("h1").persist();
-    clusters.getHost("h2").persist();
+    clusters.addHost(host1);
+    clusters.addHost(host2);
+    setOsFamily(clusters.getHost(host1), "redhat", "5.9");
+    setOsFamily(clusters.getHost(host2), "redhat", "5.9");
+    clusters.getHost(host1).persist();
+    clusters.getHost(host2).persist();
 
-    requests.add(new HostRequest("h2", "foo", new HashMap<String, String>()));
+    requests.add(new HostRequest(host2, "foo", new HashMap<String, String>()));
 
     try {
       HostResourceProviderTest.createHosts(controller, requests);
@@ -1781,21 +1824,26 @@ public class AmbariManagementControllerTest {
 
     HostResourceProviderTest.createHosts(controller, requests);
 
-    Assert.assertNotNull(clusters.getHost("h1"));
-    Assert.assertNotNull(clusters.getHost("h2"));
+    Assert.assertNotNull(clusters.getHost(host1));
+    Assert.assertNotNull(clusters.getHost(host2));
 
-    Assert.assertEquals(0, clusters.getClustersForHost("h1").size());
-    Assert.assertEquals(1, clusters.getClustersForHost("h2").size());
+    Assert.assertEquals(0, clusters.getClustersForHost(host1).size());
+    Assert.assertEquals(1, clusters.getClustersForHost(host2).size());
 
   }
 
   @Test
   public void testCreateHostMultiple() throws AmbariException {
-    clusters.addHost("h1");
-    clusters.addHost("h2");
-    clusters.addHost("h3");
-    clusters.addCluster("c1", new StackId("HDP-0.1"));
-    Cluster c = clusters.getCluster("c1");
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
+    String host3 = getUniqueName();
+    String cluster1 = getUniqueName();
+
+    clusters.addHost(host1);
+    clusters.addHost(host2);
+    clusters.addHost(host3);
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
+    Cluster c = clusters.getCluster(cluster1);
     StackId stackID = new StackId("HDP-0.1");
     c.setDesiredStackVersion(stackID);
     c.setCurrentStackVersion(stackID);
@@ -1803,18 +1851,16 @@ public class AmbariManagementControllerTest {
     c.createClusterVersion(stackID, stackID.getStackVersion(), "admin",
         RepositoryVersionState.INSTALLING);
 
-    setOsFamily(clusters.getHost("h1"), "redhat", "5.9");
-    setOsFamily(clusters.getHost("h2"), "redhat", "5.9");
-    setOsFamily(clusters.getHost("h3"), "redhat", "5.9");
-    clusters.getHost("h1").persist();
-    clusters.getHost("h2").persist();
-    clusters.getHost("h3").persist();
-
-   String clusterName = "c1";
+    setOsFamily(clusters.getHost(host1), "redhat", "5.9");
+    setOsFamily(clusters.getHost(host2), "redhat", "5.9");
+    setOsFamily(clusters.getHost(host3), "redhat", "5.9");
+    clusters.getHost(host1).persist();
+    clusters.getHost(host2).persist();
+    clusters.getHost(host3).persist();
 
-    HostRequest r1 = new HostRequest("h1", clusterName, null);
-    HostRequest r2 = new HostRequest("h2", clusterName, null);
-    HostRequest r3 = new HostRequest("h3", null, null);
+    HostRequest r1 = new HostRequest(host1, cluster1, null);
+    HostRequest r2 = new HostRequest(host2, cluster1, null);
+    HostRequest r3 = new HostRequest(host3, null, null);
 
     Set<HostRequest> set1 = new HashSet<HostRequest>();
     set1.add(r1);
@@ -1822,9 +1868,9 @@ public class AmbariManagementControllerTest {
     set1.add(r3);
     HostResourceProviderTest.createHosts(controller, set1);
 
-    Assert.assertEquals(1, clusters.getClustersForHost("h1").size());
-    Assert.assertEquals(1, clusters.getClustersForHost("h2").size());
-    Assert.assertEquals(0, clusters.getClustersForHost("h3").size());
+    Assert.assertEquals(1, clusters.getClustersForHost(host1).size());
+    Assert.assertEquals(1, clusters.getClustersForHost(host2).size());
+    Assert.assertEquals(0, clusters.getClustersForHost(host3).size());
   }
 
   @Test
@@ -1832,13 +1878,15 @@ public class AmbariManagementControllerTest {
     // unknown host
     // invalid clusters
     // duplicate host
+    String host1 = getUniqueName();
+    String cluster1 = getUniqueName();
 
     Set<HostRequest> set1 = new HashSet<HostRequest>();
 
     try {
       set1.clear();
       HostRequest rInvalid =
-          new HostRequest("h1", null, null);
+          new HostRequest(host1, null, null);
       set1.add(rInvalid);
       HostResourceProviderTest.createHosts(controller, set1);
       fail("Expected failure for invalid host");
@@ -1846,14 +1894,12 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    clusters.addHost("h1");
-
-    String clusterName = "c1";
+    clusters.addHost(host1);
 
     try {
       set1.clear();
       HostRequest rInvalid =
-          new HostRequest("h1", clusterName, null);
+          new HostRequest(host1, cluster1, null);
       set1.add(rInvalid);
       HostResourceProviderTest.createHosts(controller, set1);
       fail("Expected failure for invalid cluster");
@@ -1861,14 +1907,14 @@ public class AmbariManagementControllerTest {
       // Expected
     }
 
-    clusters.addCluster("c1", new StackId("HDP-0.1"));
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
 
     try {
       set1.clear();
       HostRequest rInvalid1 =
-          new HostRequest("h1", clusterName, null);
+          new HostRequest(host1, cluster1, null);
       HostRequest rInvalid2 =
-          new HostRequest("h1", clusterName, null);
+          new HostRequest(host1, cluster1, null);
       set1.add(rInvalid1);
       set1.add(rInvalid2);
       HostResourceProviderTest.createHosts(controller, set1);
@@ -1884,12 +1930,13 @@ public class AmbariManagementControllerTest {
    * Create a cluster with a service, and verify that the request tasks have the correct output log and error log paths.
    */
   public void testRequestStatusLogs() throws Exception {
-    testCreateServiceComponentHostSimple();
+    String cluster1 = getUniqueName();
+
+    createServiceComponentHostSimple(cluster1, getUniqueName(), getUniqueName());
 
-    String clusterName = "foo1";
     String serviceName = "HDFS";
 
-    Cluster cluster = clusters.getCluster(clusterName);
+    Cluster cluster = clusters.getCluster(cluster1);
     for (Host h : clusters.getHosts()) {
       // Simulate each agent registering and setting the prefix path on its host
       h.setPrefix(Configuration.PREFIX_DIR);
@@ -1905,7 +1952,7 @@ public class AmbariManagementControllerTest {
     c1.persist();
     configs.put(c1.getType(), c1);
 
-    ServiceRequest r = new ServiceRequest(clusterName, serviceName, State.INSTALLED.toString());
+    ServiceRequest r = new ServiceRequest(cluster1, serviceName, State.INSTALLED.toString());
     Set<ServiceRequest> requests = new HashSet<ServiceRequest>();
     requests.add(r);
 
@@ -1925,12 +1972,15 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testInstallAndStartService() throws Exception {
-    testCreateServiceComponentHostSimple();
+    String cluster1 = getUniqueName();
+    String host1 = getUniqueName();
+    String host2 = getUniqueName();
+
+    createServiceComponentHostSimple(cluster1, host1, host2);
 
-    String clusterName = "foo1";
     String serviceName = "HDFS";
 
-    Cluster cluster = clusters.getCluster(clusterName);
+    Cluster cluster = clusters.getCluster(cluster1);
     Service s1 = cluster.getService(serviceName);
 
     Map<String, Config> configs = new HashMap<String, Config>();
@@ -1940,7 +1990,7 @@ public class AmbariManagementControllerTest {
     properties.put("b", "b1");
 
     Config c1 = new ConfigImpl(cluster, "hdfs-site", properties, propertiesAttributes, injector);
-    properties.put("c", "c1");
+    properties.put("c", cluster1);
     properties.put("d", "d1");
     Config c2 = new ConfigImpl(cluster, "core-site", properties, propertiesAttributes, injector);
     Config c3 = new ConfigImpl(cluster, "foo-site", properties, propertiesAttributes, injector);
@@ -1962,17 +2012,17 @@ public class AmbariManagementControllerTest {
     configs.put(c1.getType(), c1);
     configs.put(c2.getType(), c2);
 
-    ServiceRequest r = new ServiceRequest(clusterName, serviceName, State.INSTALLED.toString());
+    ServiceRequest r = new ServiceRequest(cluster1, serviceName, State.INSTALLED.toString());
     Set<ServiceRequest> requests = new HashSet<ServiceRequest>();
     requests.add(r);
 
     RequestStatusResponse trackAction =
         ServiceResourceProviderTest.updateServices(controller, requests, mapRequestProps, true, false);
     Assert.assertEquals(State.INSTALLED,
-        clusters.getCluster(clusterName).getService(serviceName)
+        clusters.getCluster(cluster1).getService(serviceName)
         .getDesiredState());
     for (ServiceComponent sc :
-      clusters.getCluster(clusterName).getService(serviceName)
+      clusters.getCluster(cluster1).getService(serviceName)
       .getServiceComponents().values()) {
       Assert.assertEquals(State.INSTALLED, sc.getDesiredState());
       for (ServiceComponentHost sch : sc.getServiceComponentHosts().values()) {
@@ -1997,7 +2047,7 @@ public class AmbariManagementControllerTest {
           taskStatus.getCommand());
       Assert.assertEquals(HostRoleStatus.PENDING.toString(),
           taskStatus.getStatus());
-      if (taskStatus.getHostName().equals("h1")) {
+      if (taskStatus.getHostName().equals(host1)) {
         if (Role.NAMENODE.toString().equals(taskStatus.getRole())) {
           foundH1NN = true;
         } else if (Role.DATANODE.toString().equals(taskStatus.getRole())) {
@@ -2007,7 +2057,7 @@ public class AmbariManagementControllerTest {
         } else {
           fail("Found invalid role for host h1");
         }
-      } else if (taskStatus.getHostName().equals("h2")) {
+      } else if (taskStatus.getHostName().equals(host2)) {
         if (Role.DATANODE.toString().equals(taskStatus.getRole())) {
           foundH2DN = true;
         } else if (Role.HDFS_CLIENT.toString().equals(taskStatus.getRole())) {
@@ -2051,34 +2101,36 @@ public class AmbariManagementControllerTest {
     List<HostRoleCommandEntity> entities = hostRoleCommandDAO.findAll(request, predicate);
     Assert.assertEquals(5, entities.size());
 
+    // !!! pick any entity to make sure a request brings back only one
+    Long taskId = entities.get(0).getTaskId();
     predicate = new PredicateBuilder().property(
         TaskResourceProvider.TASK_REQUEST_ID_PROPERTY_ID).equals(
             trackAction.getRequestId()).and().property(
-                TaskResourceProvider.TASK_ID_PROPERTY_ID).equals(1L).toPredicate();
+                TaskResourceProvider.TASK_ID_PROPERTY_ID).equals(taskId).toPredicate();
 
     entities = hostRoleCommandDAO.findAll(request, predicate);
     Assert.assertEquals(1, entities.size());
 
     // manually change live state to installed as no running action manager
     for (ServiceComponent sc :
-      clusters.getCluster(clusterName).getService(serviceName)
+      clusters.getCluster(cluster1).getService(serviceName)
       .getServiceComponents().values()) {
       for (ServiceComponentHost sch : sc.getServiceComponentHosts().values()) {
         sch.setState(State.INSTALLED);
       }
     }
 
-    r = new ServiceRequest(clusterName, serviceName, State.STARTED.toString());
+    r = new ServiceRequest(cluster1, serviceName, State.STARTED.toString());
     requests.clear();
     requests.add(r);
     trackAction = ServiceResourceProviderTest.updateServices(controller, requests, mapRequestProps, true,
       false);
 
     Assert.assertEquals(State.STARTED,
-        clusters.getCluster(clusterName).getService(serviceName)
+        clusters.getCluster(cluster1).getService(serviceName)
         .getDesiredState());
     for (ServiceComponent sc :
-      clusters.getCluster(clusterName).getService(serviceName)
+      clusters.getCluster(cluster1).getService(serviceName)
       .getServiceComponents().values()) {
       if (sc.getName().equals("HDFS_CLIENT")) {
         Assert.assertEquals(State.INSTALLED, sc.getDesiredState());
@@ -2103,7 +2155,7 @@ public class AmbariManagementControllerTest {
     LOG.info("Cluster Dump: " + sb.toString());
 
     for (ServiceComponent sc :
-      clusters.getCluster(clusterName).getService(serviceName)
+      clusters.getCluster(cluster1).getService(serviceName)
       .getServiceComponents().values()) {
       for (ServiceComponentHost sch : sc.getServiceComponentHosts().values()) {
         if (sc.isClientComponent()) {
@@ -2114,17 +2166,17 @@ public class AmbariManagementControllerTest {
       }
     }
 
-    r = new ServiceRequest(clusterName, serviceName, State.INSTALLED.toString());
+    r = new ServiceRequest(cluster1, serviceName, State.INSTALLED.toString());
     requests.clear();
     requests.add(r);
     trackAction = ServiceResourceProviderTest.updateServices(controller, requests, mapRequestProps, true,
       false);
 
     Assert.assertEquals(State.INSTALLED,
-        clusters.getCluster(clusterName).getService(serviceName)
+        clusters.getCluster(cluster1).getService(serviceName)
         .getDesiredState());
     for (ServiceComponent sc :
-      clusters.getCluster(clusterName).getService(serviceName)
+      clusters.getCluster(cluster1).getService(serviceName)
       .getServiceComponents().values()) {
       Assert.assertEquals(State.INSTALLED, sc.getDesiredState());
       for (ServiceComponentHost sch : sc.getServiceComponentHosts().values()) {
@@ -2141,9 +2193,11 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testGetClusters() throws AmbariException, AuthorizationException {
-    clusters.addCluster("c1", new StackId("HDP-0.1"));
+    String cluster1 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
 
-    Cluster c1 = clusters.getCluster("c1");
+    Cluster c1 = clusters.getCluster(cluster1);
 
     StackId stackId = new StackId("HDP-0.1");
     c1.setDesiredStackVersion(stackId);
@@ -2153,33 +2207,44 @@ public class AmbariManagementControllerTest {
 
     ClusterRequest r = new ClusterRequest(null, null, null, null);
     Set<ClusterResponse> resp = controller.getClusters(Collections.singleton(r));
-    Assert.assertEquals(1, resp.size());
 
-    ClusterResponse resp1 = resp.iterator().next();
+    // !!! many tests are creating clusters, just make sure we have at least one
+    Assert.assertFalse(resp.isEmpty());
 
-    Assert.assertEquals(c1.getClusterId(), resp1.getClusterId().longValue());
-    Assert.assertEquals(c1.getClusterName(), resp1.getClusterName());
-    Assert.assertEquals(c1.getDesiredStackVersion().getStackId(),
-        resp1.getDesiredStackVersion());
+    boolean found = false;
+    for (ClusterResponse cr : resp) {
+      if (cr.getClusterName().equals(cluster1)) {
+        Assert.assertEquals(c1.getClusterId(), cr.getClusterId().longValue());
+        Assert.assertEquals(c1.getDesiredStackVersion().getStackId(), cr.getDesiredStackVersion());
+        found = true;
+        break;
+      }
+    }
+
+    Assert.assertTrue(found);
   }
 
   @Test
   public void testGetClustersWithFilters() throws AmbariException, AuthorizationException {
-    clusters.addCluster("c1", new StackId("HDP-0.1"));
-    clusters.addCluster("c2", new StackId("HDP-0.1"));
-    clusters.addCluster("c3", new StackId("HDP-1.2.0"));
-    clusters.addCluster("c4", new StackId("HDP-0.1"));
+    String cluster1 = getUniqueName();
+    String cluster2 = getUniqueName();
+    String cluster3 = getUniqueName();
+    String cluster4 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
+    clusters.addCluster(cluster2, new StackId("HDP-0.1"));
+    clusters.addCluster(cluster3, new StackId("HDP-1.2.0"));
+    clusters.addCluster(cluster4, new StackId("HDP-0.1"));
 
-    Cluster c1 = clusters.getCluster("c1");
-    Cluster c2 = clusters.getCluster("c2");
-    Cluster c3 = clusters.getCluster("c3");
-    Cluster c4 = clusters.getCluster("c4");
+    Cluster c1 = clusters.getCluster(cluster1);
+    Cluster c2 = clusters.getCluster(cluster2);
+    Cluster c3 = clusters.getCluster(cluster3);
+    Cluster c4 = clusters.getCluster(cluster4);
 
     ClusterRequest r = new ClusterRequest(null, null, null, null);
     Set<ClusterResponse> resp = controller.getClusters(Collections.singleton(r));
-    Assert.assertEquals(4, resp.size());
 
-    r = new ClusterRequest(null, "c1", null, null);
+    r = new ClusterRequest(null, cluster1, null, null);
     resp = controller.getClusters(Collections.singleton(r));
     Assert.assertEquals(1, resp.size());
     Assert.assertEquals(c1.getClusterId(),
@@ -2187,7 +2252,7 @@ public class AmbariManagementControllerTest {
 
     r = new ClusterRequest(null, null, "HDP-0.1", null);
     resp = controller.getClusters(Collections.singleton(r));
-    Assert.assertEquals(3, resp.size());
+    Assert.assertTrue(resp.size() >= 3);
 
     r = new ClusterRequest(null, null, "", null);
     resp = controller.getClusters(Collections.singleton(r));
@@ -2196,8 +2261,10 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testGetServices() throws AmbariException {
-    clusters.addCluster("c1", new StackId("HDP-0.1"));
-    Cluster c1 = clusters.getCluster("c1");
+    String cluster1 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.1"));
+    Cluster c1 = clusters.getCluster(cluster1);
     Service s1 = serviceFactory.createNew(c1, "HDFS");
 
     c1.addService(s1);
@@ -2206,7 +2273,7 @@ public class AmbariManagementControllerTest {
 
     s1.persist();
 
-    ServiceRequest r = new ServiceRequest("c1", null, null);
+    ServiceRequest r = new ServiceRequest(cluster1, null, null);
     Set<ServiceResponse> resp = ServiceResourceProviderTest.getServices(controller, Collections.singleton(r));
 
     ServiceResponse resp1 = resp.iterator().next();
@@ -2224,10 +2291,13 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testGetServicesWithFilters() throws AmbariException {
-    clusters.addCluster("c1", new StackId("HDP-0.2"));
-    clusters.addCluster("c2", new StackId("HDP-0.2"));
-    Cluster c1 = clusters.getCluster("c1");
-    Cluster c2 = clusters.getCluster("c2");
+    String cluster1 = getUniqueName();
+    String cluster2 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.2"));
+    clusters.addCluster(cluster2, new StackId("HDP-0.2"));
+    Cluster c1 = clusters.getCluster(cluster1);
+    Cluster c2 = clusters.getCluster(cluster2);
     c1.setDesiredStackVersion(new StackId("HDP-0.2"));
     c2.setDesiredStackVersion(new StackId("HDP-0.2"));
 
@@ -2303,8 +2373,10 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testGetServiceComponents() throws AmbariException {
-    clusters.addCluster("c1", new StackId("HDP-0.2"));
-    Cluster c1 = clusters.getCluster("c1");
+    String cluster1 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.2"));
+    Cluster c1 = clusters.getCluster(cluster1);
     c1.setDesiredStackVersion(new StackId("HDP-0.2"));
     Service s1 = serviceFactory.createNew(c1, "HDFS");
     c1.addService(s1);
@@ -2316,7 +2388,7 @@ public class AmbariManagementControllerTest {
     sc1.setDesiredStackVersion(new StackId("HDP-0.1"));
     sc1.setDesiredState(State.UNINSTALLED);
 
-    ServiceComponentRequest r = new ServiceComponentRequest("c1",
+    ServiceComponentRequest r = new ServiceComponentRequest(cluster1,
        s1.getName(), sc1.getName(), null);
 
     Set<ServiceComponentResponse> resps = ComponentResourceProviderTest.getComponents(controller, Collections.singleton(r));
@@ -2337,10 +2409,13 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testGetServiceComponentsWithFilters() throws AmbariException {
-    clusters.addCluster("c1", new StackId("HDP-0.2"));
-    clusters.addCluster("c2", new StackId("HDP-0.2"));
-    Cluster c1 = clusters.getCluster("c1");
-    Cluster c2 = clusters.getCluster("c2");
+    String cluster1 = getUniqueName();
+    String cluster2 = getUniqueName();
+
+    clusters.addCluster(cluster1, new StackId("HDP-0.2"));
+    clusters.addCluster(cluster2, new StackId("HDP-0.2"));
+    Cluster c1 = clusters.getCluster(cluster1);
+    Cluster c2 = clusters.getCluster(cluster2);
 
     Service s1 = serviceFactory.createNew(c1, "HDFS");
     Service s2 = serviceFactory.createNew(c1, "MAPREDUCE");
@@ -2470,9 +2545,10 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testGetServiceComponentHosts() throws AmbariException, AuthorizationException {
-    Cluster c1 = setupClusterWithHosts("c1", "HDP-0.1", new ArrayList<String>() {{
-      add("h1");
-    }}, "centos5");
+    String cluster1 = getUniqueName();
+    String host1 = getUniqueName();
+
+    Cluster c1 = setupClusterWithHosts(cluster1, "HDP-0.1", Lists.newArrayList(host1), "centos5");
     Service s1 = serviceFactory.createNew(c1, "HDFS");
     c1.addService(s1);
     s1.persist();
@@ -2480,7 +2556,7 @@ public class AmbariManagementControllerTest {
     s1.addServiceComponent(sc1);
     sc1.setDesiredState(State.UNINSTALLED);
     sc1.persist();
-    ServiceComponentHost sch1 = serviceComponentHostFactory.createNew(sc1, "h1");
+    ServiceComponentHost sch1 = serviceComponentHostFactory.createNew(sc1, host1);
     sc1.addServiceComponentHost(sch1);
     sch1.setDesiredState(State.INSTALLED);
     sch1.setState(State.INSTALLING);
@@ -2520,56 +2596,57 @@ public class AmbariManagementControllerTest {
   @Test
   public void testGetServiceComponentHostsWithStaleConfigFilter() throws AmbariException, AuthorizationException {
 
-    final String host1 = "h1";
-    final String host2 = "h2";
-    Long clusterId = 1L;
-    String clusterName = "foo1";
-    setupClusterWithHosts(clusterName, "HDP-2.0.5",
+    final String host1 = getUniqueName();
+    final String host2 = getUniqueName();
+    String cluster1 = getUniqueName();
+    Cluster c = setupClusterWithHosts(cluster1, "HDP-2.0.5",
         new ArrayList<String>() {{
           add(host1);
           add(host2);
         }},
         "centos5");
+
+    Long clusterId = c.getClusterId();
     String serviceName = "HDFS";
-    createService(clusterName, serviceName, null);
+    createService(cluster1, serviceName, null);
     String componentName1 = "NAMENODE";
     String componentName2 = "DATANODE";
     String componentName3 = "HDFS_CLIENT";
 
-    createServiceComponent(clusterName, serviceName, componentName1,
+    createServiceComponent(cluster1, serviceName, componentName1,
         State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName2,
+    createServiceComponent(cluster1, serviceName, componentName2,
         State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName3,
+    createServiceComponent(cluster1, serviceName, componentName3,
         State.INIT);
 
-    createServiceComponentHost(clusterName, serviceName, componentName1,
+    createServiceComponentHost(cluster1, serviceName, componentName1,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName3,
+    createServiceComponentHost(cluster1, serviceName, componentName3,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
         host2, null);
-    createServiceComponentHost(clusterName, serviceName, componentName3,
+    createServiceComponentHost(cluster1, serviceName, componentName3,
         host2, null);
 
     // Install
-    installService(clusterName, serviceName, false, false);
+    installService(cluster1, serviceName, false, false);
 
     // Create and attach config
     Map<String, String> configs = new HashMap<String, String>();
     configs.put("a", "b");
 
     ConfigurationRequest cr1;
-    cr1 = new ConfigurationRequest(clusterName, "hdfs-site", "version1",
+    cr1 = new ConfigurationRequest(cluster1, "hdfs-site", "version1",
         configs, null);
-    ClusterRequest crReq = new ClusterRequest(clusterId, clusterName, null, null);
+    ClusterRequest crReq = new ClusterRequest(clusterId, cluster1, null, null);
     crReq.setDesiredConfig(Collections.singletonList(cr1));
     controller.updateClusters(Collections.singleton(crReq), null);
 
     // Start
-    startService(clusterName, serviceName, false, false);
+    startService(cluster1, serviceName, false, false);
 
     //Update actual config
     HashMap<String, Map<String, String>> actualConfig = new HashMap<String, Map<String, String>>() {{
@@ -2584,7 +2661,7 @@ public class AmbariManagementControllerTest {
           }});
         }};
 
-    Service s1 = clusters.getCluster(clusterName).getService(serviceName);
+    Service s1 = clusters.getCluster(cluster1).getService(serviceName);
     s1.getServiceComponent(componentName1).getServiceComponentHost(host1).updateActualConfigs(actualConfig);
     s1.getServiceComponent(componentName2).getServiceComponentHost(host1).updateActualConfigs(actualConfig);
     s1.getServiceComponent(componentName3).getServiceComponentHost(host1).updateActualConfigs(actualConfigOld);
@@ -2592,30 +2669,30 @@ public class AmbariManagementControllerTest {
     s1.getServiceComponent(componentName3).getServiceComponentHost(host2).updateActualConfigs(actualConfig);
 
     ServiceComponentHostRequest r =
-        new ServiceComponentHostRequest(clusterName, null, null, null, null);
+        new ServiceComponentHostRequest(cluster1, null, null, null, null);
     Set<ServiceComponentHostResponse> resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(5, resps.size());
 
     //Get all host components with stale config = true
-    r = new ServiceComponentHostRequest(clusterName, null, null, null, null);
+    r = new ServiceComponentHostRequest(cluster1, null, null, null, null);
     r.setStaleConfig("true");
     resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(2, resps.size());
 
     //Get all host components with stale config = false
-    r = new ServiceComponentHostRequest(clusterName, null, null, null, null);
+    r = new ServiceComponentHostRequest(cluster1, null, null, null, null);
     r.setStaleConfig("false");
     resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(3, resps.size());
 
     //Get all host components with stale config = false and hostname filter
-    r = new ServiceComponentHostRequest(clusterName, null, null, host1, null);
+    r = new ServiceComponentHostRequest(cluster1, null, null, host1, null);
     r.setStaleConfig("false");
     resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(2, resps.size());
 
     //Get all host components with stale config = false and hostname filter
-    r = new ServiceComponentHostRequest(clusterName, null, null, host2, null);
+    r = new ServiceComponentHostRequest(cluster1, null, null, host2, null);
     r.setStaleConfig("true");
     resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(1, resps.size());
@@ -2624,76 +2701,77 @@ public class AmbariManagementControllerTest {
   @Test
   public void testServiceComponentHostsWithDecommissioned() throws Exception {
 
-    final String host1 = "h1";
-    final String host2 = "h2";
-    String clusterName = "foo1";
-    setupClusterWithHosts(clusterName, "HDP-2.0.7",
+    final String host1 = getUniqueName();
+    final String host2 = getUniqueName();
+    String cluster1 = getUniqueName();
+
+    setupClusterWithHosts(cluster1, "HDP-2.0.7",
         new ArrayList<String>() {{
           add(host1);
           add(host2);
         }},
         "centos5");
     String serviceName = "HDFS";
-    createService(clusterName, serviceName, null);
+    createService(cluster1, serviceName, null);
     String componentName1 = "NAMENODE";
     String componentName2 = "DATANODE";
     String componentName3 = "HDFS_CLIENT";
 
-    createServiceComponent(clusterName, serviceName, componentName1,
+    createServiceComponent(cluster1, serviceName, componentName1,
         State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName2,
+    createServiceComponent(cluster1, serviceName, componentName2,
         State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName3,
+    createServiceComponent(cluster1, serviceName, componentName3,
         State.INIT);
 
-    createServiceComponentHost(clusterName, serviceName, componentName1,
+    createServiceComponentHost(cluster1, serviceName, componentName1,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName3,
+    createServiceComponentHost(cluster1, serviceName, componentName3,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
         host2, null);
-    createServiceComponentHost(clusterName, serviceName, componentName3,
+    createServiceComponentHost(cluster1, serviceName, componentName3,
         host2, null);
 
     // Install
-    installService(clusterName, serviceName, false, false);
+    installService(cluster1, serviceName, false, false);
 
     // Start
-    startService(clusterName, serviceName, false, false);
+    startService(cluster1, serviceName, false, false);
 
-    Service s1 = clusters.getCluster(clusterName).getService(serviceName);
+    Service s1 = clusters.getCluster(cluster1).getService(serviceName);
     s1.getServiceComponent(componentName2).getServiceComponentHost(host1).
         setComponentAdminState(HostComponentAdminState.DECOMMISSIONED);
     s1.getServiceComponent(componentName2).getServiceComponentHost(host2).
         setComponentAdminState(HostComponentAdminState.INSERVICE);
 
     ServiceComponentHostRequest r =
-        new ServiceComponentHostRequest(clusterName, null, null, null, null);
+        new ServiceComponentHostRequest(cluster1, null, null, null, null);
     Set<ServiceComponentHostResponse> resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(5, resps.size());
 
     //Get all host components with decommissiond = true
-    r = new ServiceComponentHostRequest(clusterName, null, null, null, null);
+    r = new ServiceComponentHostRequest(cluster1, null, null, null, null);
     r.setAdminState("DECOMMISSIONED");
     resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(1, resps.size());
 
     //Get all host components with decommissioned = false
-    r = new ServiceComponentHostRequest(clusterName, null, null, null, null);
+    r = new ServiceComponentHostRequest(cluster1, null, null, null, null);
     r.setAdminState("INSERVICE");
     resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(1, resps.size());
 
     //Get all host components with decommissioned = some random string
-    r = new ServiceComponentHostRequest(clusterName, null, null, null, null);
+    r = new ServiceComponentHostRequest(cluster1, null, null, null, null);
     r.setAdminState("INSTALLED");
     resps = controller.getHostComponents(Collections.singleton(r));
     Assert.assertEquals(0, resps.size());
 
     //Update adminState
-    r = new ServiceComponentHostRequest(clusterName, "HDFS", "DATANODE", host2, null);
+    r = new ServiceComponentHostRequest(cluster1, "HDFS", "DATANODE", host2, null);
     r.setAdminState("DECOMMISSIONED");
     try {
       updateHostComponents(Collections.singleton(r), new HashMap<String, String>(), false);
@@ -2705,60 +2783,60 @@ public class AmbariManagementControllerTest {
 
   @Test
   public void testHbaseDecommission() throws AmbariException, AuthorizationException {
-    String clusterName = "foo1";
-    createCluster(clusterName);
-    clusters.getCluster(clusterName)
+    String cluster1 = getUniqueName();
+    createCluster(cluster1);
+    clusters.getCluster(cluster1)
         .setDesiredStackVersion(new StackId("HDP-2.0.7"));
     String serviceName = "HBASE";
-    createService(clusterName, serviceName, null);
+    createService(cluster1, serviceName, null);
     String componentName1 = "HBASE_MASTER";
     String componentName2 = "HBASE_REGIONSERVER";
 
-    createServiceComponent(clusterName, serviceName, componentName1,
+    createServiceComponent(cluster1, serviceName, componentName1,
         State.INIT);
-    createServiceComponent(clusterName, serviceName, componentName2,
+    createServiceComponent(cluster1, serviceName, componentName2,
         State.INIT);
 
-    String host1 = "h1";
-    String host2 = "h2";
+    final String host1 = getUniqueName();
+    final String host2 = getUniqueName();
 
-    addHostToCluster(host1, clusterName);
-    addHostToCluster(host2, clusterName);
+    addHostToCluster(host1, cluster1);
+    addHostToCluster(host2, cluster1);
 
-    createServiceComponentHost(clusterName, serviceName, componentName1,
+    createServiceComponentHost(cluster1, serviceName, componentName1,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName1,
+    createServiceComponentHost(cluster1, serviceName, componentName1,
         host2, null);
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
         host1, null);
-    createServiceComponentHost(clusterName, serviceName, componentName2,
+    createServiceComponentHost(cluster1, serviceName, componentName2,
         host2, null);
 
     RequestOperationLevel level = new RequestOperationLevel(
-            Resource.Type.HostComponent, clusterName, null, null, null);
+            Resource.Type.HostComponent, cluster1, null, null, null);
 
     // Install
-    installService(clusterName, serviceName, false, false);
+    installService(cluster1, serviceName, false, false);
 
     // Start
-    startService(clusterName, serviceName, false, false);
+    startService(cluster1, serviceName, false, false);
 
-    Cluster cluster = clusters.getCluster(clusterName);
+    Cluster cluster = clusters.getCluster(cluster1);
     Service s = cluster.getService(serviceName);
     Assert.assertEquals(State.STARTED, s.getDesiredState());
-    ServiceComponentHost scHost = s.getServiceComponent("HBASE_REGIONSERVER").getServiceComponentHost("h2");
+    ServiceComponentHost scHost = s.getServiceComponent("HBASE_REGIONSERVER").getServiceComponentHost(host2);
     Assert.assertEquals(HostComponentAdminState.INSERVICE, scHost.getComponentAdminState());
 
     // Decommission one RS
     Map<String, String> params = new HashMap<String, String>() {{
-      put("excluded_hosts", "h2");
+      put("excluded_hosts", host2);
       put("align_maintenance_state", "true");
     }};
     RequestResourceFilter resourceFilter = new RequestResourceFilter("HBASE", "HBASE_MASTER", null);
     List<RequestResourceFilter> resourceFilters = new ArrayList<RequestResourceFilter>();
     resourceFilters.add(resourceFilter);
 
-    ExecuteActionRequest request = new ExecuteActionRequest(clusterName,
+    ExecuteActionRequest request = new ExecuteActionRequest(cluster1,
       "DECOMMISSION", null, resourceFilters, level, params, false);
 
     Map<String, String> requestProperties = new HashMap<String, String>();
@@ -2775,8 +2853,8 @@ public class AmbariManagementControllerTest {
     Assert.assertEquals(HostComponentAdminState.DECOMMISSIONED, scHost.getComponentAdminState());
     Assert.assertEquals(MaintenanceState.ON, scHost.getMaintenanceState());
   

<TRUNCATED>

[2/2] ambari git commit: AMBARI-16082. Test Refresh Phase 1 (ncole)

Posted by nc...@apache.org.
AMBARI-16082. Test Refresh Phase 1 (ncole)


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

Branch: refs/heads/trunk
Commit: 962be15c765346b7dd4e2059e6c1cf4227190e9c
Parents: 071c175
Author: Nate Cole <nc...@hortonworks.com>
Authored: Sat Apr 23 15:42:34 2016 -0400
Committer: Nate Cole <nc...@hortonworks.com>
Committed: Tue Apr 26 08:59:13 2016 -0400

----------------------------------------------------------------------
 .../AmbariManagementControllerTest.java         | 4305 +++++++++---------
 1 file changed, 2209 insertions(+), 2096 deletions(-)
----------------------------------------------------------------------