Repository: ambari Updated Branches: refs/heads/branch-feature-AMBARI-21450 5cdcd0701 -> 56362fd64
http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java index 7bf9273..febe591 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -57,13 +57,13 @@ import org.apache.ambari.server.orm.dao.HostDAO; import org.apache.ambari.server.orm.dao.TopologyRequestDAO; import org.apache.ambari.server.orm.entities.ClusterStateEntity; import org.apache.ambari.server.orm.entities.HostEntity; +import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.state.AgentVersion; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.ConfigFactory; import org.apache.ambari.server.state.Host; -import org.apache.ambari.server.state.RepositoryVersionState; import org.apache.ambari.server.state.SecurityType; import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.ServiceComponent; @@ -125,11 +125,11 @@ public class ClustersTest { } private void setOsFamily(Host host, String osFamily, String osVersion) { - Map<String, String> hostAttributes = new HashMap<String, String>(); - hostAttributes.put("os_family", osFamily); - hostAttributes.put("os_release_version", osVersion); + Map<String, String> hostAttributes = new HashMap<>(); + hostAttributes.put("os_family", osFamily); + hostAttributes.put("os_release_version", osVersion); - host.setHostAttributes(hostAttributes); + host.setHostAttributes(hostAttributes); } @Test @@ -146,9 +146,10 @@ public class ClustersTest { @Test public void testAddAndGetCluster() throws AmbariException { - StackId stackId = new StackId("HDP-2.1.1"); + helper.createStack(stackId); + String c1 = "foo"; String c2 = "foo"; clusters.addCluster(c1, stackId); @@ -201,6 +202,8 @@ public class ClustersTest { public void testAddAndGetClusterWithSecurityType() throws AmbariException { StackId stackId = new StackId("HDP-2.1.1"); + helper.createStack(stackId); + String c1 = "foo"; SecurityType securityType = SecurityType.KERBEROS; clusters.addCluster(c1, stackId, securityType); @@ -266,6 +269,8 @@ public class ClustersTest { StackId stackId = new StackId("HDP-0.1"); + helper.createStack(stackId); + clusters.addCluster(c1, stackId); clusters.addCluster(c2, stackId); @@ -276,15 +281,6 @@ public class ClustersTest { cluster1.setDesiredStackVersion(stackId); helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster1.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); - cluster1.transitionClusterVersion(stackId, stackId.getStackVersion(), - RepositoryVersionState.CURRENT); - cluster2.setDesiredStackVersion(stackId); - cluster2.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); - cluster2.transitionClusterVersion(stackId, stackId.getStackVersion(), - RepositoryVersionState.CURRENT); try { clusters.mapHostToCluster(h1, c1); @@ -327,7 +323,7 @@ public class ClustersTest { Cluster c4 = (Cluster) clusters.getClustersForHost(h2).toArray()[0]; Assert.assertEquals(c3, c4); - Set<String> hostnames = new HashSet<String>(); + Set<String> hostnames = new HashSet<>(); hostnames.add(h1); hostnames.add(h2); @@ -359,6 +355,8 @@ public class ClustersTest { StackId stackId = new StackId("HDP-0.1"); + helper.createStack(stackId); + clusters.addCluster(c1, stackId); clusters.addCluster(c2, stackId); Cluster cluster1 = clusters.getCluster(c1); @@ -367,15 +365,7 @@ public class ClustersTest { Assert.assertNotNull(clusters.getCluster(c2)); helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster1.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); - cluster1.transitionClusterVersion(stackId, stackId.getStackVersion(), - RepositoryVersionState.CURRENT); - cluster2.setDesiredStackVersion(stackId); - cluster2.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); - cluster2.transitionClusterVersion(stackId, stackId.getStackVersion(), - RepositoryVersionState.CURRENT); + clusters.addHost(h1); clusters.addHost(h2); clusters.addHost(h3); @@ -397,17 +387,18 @@ public class ClustersTest { final String h2 = "h2"; StackId stackId = new StackId("HDP-0.1"); + + helper.createStack(stackId); + clusters.addCluster(c1, stackId); Cluster cluster = clusters.getCluster(c1); cluster.setDesiredStackVersion(stackId); cluster.setCurrentStackVersion(stackId); - helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); - cluster.transitionClusterVersion(stackId, stackId.getStackVersion(), - RepositoryVersionState.CURRENT); + + RepositoryVersionEntity repositoryVersion = helper.getOrCreateRepositoryVersion(stackId, + stackId.getStackVersion()); final Config config1 = injector.getInstance(ConfigFactory.class).createNew(cluster, "t1", "1", new HashMap<String, String>() {{ @@ -426,7 +417,7 @@ public class ClustersTest { clusters.addHost(h2); Host host1 = clusters.getHost(h1); - Host host2 = clusters.getHost(h2); + setOsFamily(clusters.getHost(h1), "centos", "5.9"); setOsFamily(clusters.getHost(h2), "centos", "5.9"); @@ -439,7 +430,7 @@ public class ClustersTest { // host config override host1.addDesiredConfig(cluster.getClusterId(), true, "_test", config2); - Service hdfs = cluster.addService("HDFS"); + Service hdfs = cluster.addService("HDFS", repositoryVersion); Assert.assertNotNull(injector.getInstance(ClusterServiceDAO.class).findByClusterAndServiceNames(c1, "HDFS")); @@ -469,7 +460,7 @@ public class ClustersTest { )); Assert.assertEquals(2, injector.getProvider(EntityManager.class).get().createQuery("SELECT config FROM ClusterConfigEntity config").getResultList().size()); Assert.assertEquals(1, injector.getProvider(EntityManager.class).get().createQuery("SELECT state FROM ClusterStateEntity state").getResultList().size()); - Assert.assertEquals(1, injector.getProvider(EntityManager.class).get().createQuery("SELECT config FROM ClusterConfigMappingEntity config").getResultList().size()); + Assert.assertEquals(1, injector.getProvider(EntityManager.class).get().createQuery("SELECT config FROM ClusterConfigEntity config WHERE config.selected = 1").getResultList().size()); // add topology request Blueprint bp = createNiceMock(Blueprint.class); @@ -510,7 +501,6 @@ public class ClustersTest { )); Assert.assertEquals(0, injector.getProvider(EntityManager.class).get().createQuery("SELECT config FROM ClusterConfigEntity config").getResultList().size()); Assert.assertEquals(0, injector.getProvider(EntityManager.class).get().createQuery("SELECT state FROM ClusterStateEntity state").getResultList().size()); - Assert.assertEquals(0, injector.getProvider(EntityManager.class).get().createQuery("SELECT config FROM ClusterConfigMappingEntity config").getResultList().size()); Assert.assertEquals(0, topologyRequestDAO.findByClusterId(cluster.getClusterId()).size()); } @@ -698,6 +688,9 @@ public class ClustersTest { private Cluster createCluster(String clusterName) throws AmbariException { StackId stackId = new StackId("HDP-0.1"); + + helper.createStack(stackId); + clusters.addCluster(clusterName, stackId); return clusters.getCluster(clusterName); @@ -709,4 +702,4 @@ public class ClustersTest { binder.bind(TopologyManager.class).toInstance(createNiceMock(TopologyManager.class)); } } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ConcurrentServiceConfigVersionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ConcurrentServiceConfigVersionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ConcurrentServiceConfigVersionTest.java index 8b56004..0bcd68c 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ConcurrentServiceConfigVersionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ConcurrentServiceConfigVersionTest.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -34,10 +34,10 @@ import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.dao.ServiceConfigDAO; +import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Host; -import org.apache.ambari.server.state.RepositoryVersionState; import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.ServiceComponent; import org.apache.ambari.server.state.ServiceComponentFactory; @@ -95,6 +95,8 @@ public class ConcurrentServiceConfigVersionTest { */ private Cluster cluster; + private RepositoryVersionEntity repositoryVersion; + /** * Creates a cluster and installs HDFS with NN and DN. * @@ -107,11 +109,10 @@ public class ConcurrentServiceConfigVersionTest { injector.getInstance(GuiceJpaInitializer.class); injector.injectMembers(this); + helper.createStack(stackId); clusters.addCluster("c1", stackId); cluster = clusters.getCluster("c1"); - helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster.createClusterVersion(stackId, - stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING); + repositoryVersion = helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); String hostName = "c6401.ambari.apache.org"; clusters.addHost(hostName); @@ -144,7 +145,7 @@ public class ConcurrentServiceConfigVersionTest { Assert.assertEquals(nextVersion, 1); - List<Thread> threads = new ArrayList<Thread>(); + List<Thread> threads = new ArrayList<>(); for (int i = 0; i < NUMBER_OF_THREADS; i++) { Thread thread = new ConcurrentServiceConfigThread(cluster); threads.add(thread); @@ -181,8 +182,6 @@ public class ConcurrentServiceConfigVersionTest { ServiceConfigVersionResponse response = cluster.createServiceConfigVersion( "HDFS", null, getName() + "-serviceConfig" + i, null); - System.out.println("**** " + response.getVersion()); - Thread.sleep(100); } } catch (Exception exception) { @@ -192,7 +191,7 @@ public class ConcurrentServiceConfigVersionTest { } private void setOsFamily(Host host, String osFamily, String osVersion) { - Map<String, String> hostAttributes = new HashMap<String, String>(2); + Map<String, String> hostAttributes = new HashMap<>(2); hostAttributes.put("os_family", osFamily); hostAttributes.put("os_release_version", osVersion); host.setHostAttributes(hostAttributes); @@ -210,8 +209,6 @@ public class ConcurrentServiceConfigVersionTest { sc.addServiceComponentHost(sch); sch.setDesiredState(State.INSTALLED); sch.setState(State.INSTALLED); - sch.setDesiredStackVersion(stackId); - sch.setStackVersion(stackId); return sch; } @@ -222,7 +219,7 @@ public class ConcurrentServiceConfigVersionTest { try { service = cluster.getService(serviceName); } catch (ServiceNotFoundException e) { - service = serviceFactory.createNew(cluster, serviceName); + service = serviceFactory.createNew(cluster, serviceName, repositoryVersion); cluster.addService(service); } @@ -259,4 +256,4 @@ public class ConcurrentServiceConfigVersionTest { EasyMock.createNiceMock(HostVersionOutOfSyncListener.class)); } } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java index eecf347..9902e5a 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ServiceComponentHostConcurrentWriteDeadlockTest.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -34,12 +34,12 @@ import org.apache.ambari.server.events.listeners.upgrade.HostVersionOutOfSyncLis import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; import org.apache.ambari.server.orm.OrmTestHelper; +import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.ConfigFactory; import org.apache.ambari.server.state.Host; -import org.apache.ambari.server.state.RepositoryVersionState; import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.ServiceComponent; import org.apache.ambari.server.state.ServiceComponentFactory; @@ -87,10 +87,9 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { @Inject private ConfigFactory configFactory; - @Inject - private OrmTestHelper helper; - private StackId stackId = new StackId("HDP-0.1"); + private final String REPO_VERSION = "0.1-1234"; + private RepositoryVersionEntity m_repositoryVersion; /** * The cluster. @@ -109,11 +108,13 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { injector.getInstance(GuiceJpaInitializer.class); injector.injectMembers(this); + + OrmTestHelper helper = injector.getInstance(OrmTestHelper.class); + helper.createStack(stackId); + clusters.addCluster("c1", stackId); cluster = clusters.getCluster("c1"); - helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster.createClusterVersion(stackId, - stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING); + m_repositoryVersion = helper.getOrCreateRepositoryVersion(stackId, REPO_VERSION); Config config1 = configFactory.createNew(cluster, "test-type1", null, new HashMap<String, String>(), new HashMap<String, Map<String, String>>()); @@ -121,7 +122,7 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { Config config2 = configFactory.createNew(cluster, "test-type2", null, new HashMap<String, String>(), new HashMap<String, Map<String, String>>()); - cluster.addDesiredConfig("test user", new HashSet<Config>(Arrays.asList(config1, config2))); + cluster.addDesiredConfig("test user", new HashSet<>(Arrays.asList(config1, config2))); String hostName = "c6401"; clusters.addHost(hostName); @@ -144,11 +145,11 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { ServiceComponentHost nameNodeSCH = createNewServiceComponentHost("HDFS", "NAMENODE", "c6401"); ServiceComponentHost dataNodeSCH = createNewServiceComponentHost("HDFS", "DATANODE", "c6401"); - List<ServiceComponentHost> serviceComponentHosts = new ArrayList<ServiceComponentHost>(); + List<ServiceComponentHost> serviceComponentHosts = new ArrayList<>(); serviceComponentHosts.add(nameNodeSCH); serviceComponentHosts.add(dataNodeSCH); - List<Thread> threads = new ArrayList<Thread>(); + List<Thread> threads = new ArrayList<>(); for (int i = 0; i < NUMBER_OF_THREADS; i++) { ServiceComponentHostDeadlockWriter thread = new ServiceComponentHostDeadlockWriter(); thread.setServiceComponentHosts(serviceComponentHosts); @@ -181,10 +182,6 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { private static final class ServiceComponentHostDeadlockWriter extends Thread { private List<ServiceComponentHost> serviceComponentHosts; - /** - * @param nameNodeSCH - * the nameNodeSCH to set - */ public void setServiceComponentHosts(List<ServiceComponentHost> serviceComponentHosts) { this.serviceComponentHosts = serviceComponentHosts; } @@ -216,7 +213,7 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { } private void setOsFamily(Host host, String osFamily, String osVersion) { - Map<String, String> hostAttributes = new HashMap<String, String>(2); + Map<String, String> hostAttributes = new HashMap<>(2); hostAttributes.put("os_family", osFamily); hostAttributes.put("os_release_version", osVersion); host.setHostAttributes(hostAttributes); @@ -228,14 +225,12 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { Service s = installService(svc); ServiceComponent sc = addServiceComponent(s, svcComponent); - ServiceComponentHost sch = serviceComponentHostFactory.createNew(sc, - hostName); + ServiceComponentHost sch = serviceComponentHostFactory.createNew(sc, hostName); sc.addServiceComponentHost(sch); sch.setDesiredState(State.INSTALLED); sch.setState(State.INSTALLED); - sch.setDesiredStackVersion(stackId); - sch.setStackVersion(stackId); + sch.setVersion(REPO_VERSION); return sch; } @@ -246,7 +241,7 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { try { service = cluster.getService(serviceName); } catch (ServiceNotFoundException e) { - service = serviceFactory.createNew(cluster, serviceName); + service = serviceFactory.createNew(cluster, serviceName, m_repositoryVersion); cluster.addService(service); } @@ -283,4 +278,4 @@ public class ServiceComponentHostConcurrentWriteDeadlockTest { EasyMock.createNiceMock(HostVersionOutOfSyncListener.class)); } } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java index d418a80..d83dd04 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/host/HostTest.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -37,7 +37,6 @@ import org.apache.ambari.server.agent.AgentEnv; import org.apache.ambari.server.agent.DiskInfo; import org.apache.ambari.server.agent.HeartBeatHandler; import org.apache.ambari.server.agent.HostInfo; -import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; import org.apache.ambari.server.orm.OrmTestHelper; @@ -55,10 +54,7 @@ import org.apache.ambari.server.state.HostHealthStatus; import org.apache.ambari.server.state.HostHealthStatus.HealthStatus; import org.apache.ambari.server.state.HostState; import org.apache.ambari.server.state.MaintenanceState; -import org.apache.ambari.server.state.RepositoryVersionState; import org.apache.ambari.server.state.StackId; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -73,7 +69,6 @@ public class HostTest { private Clusters clusters; private HostDAO hostDAO; private OrmTestHelper helper; - private static Log LOG = LogFactory.getLog(HostTest.class); @Before public void setup() throws AmbariException{ @@ -95,7 +90,7 @@ public class HostTest { info.setMemorySize(100); info.setProcessorCount(10); info.setPhysicalProcessorCount(2); - List<DiskInfo> mounts = new ArrayList<DiskInfo>(); + List<DiskInfo> mounts = new ArrayList<>(); mounts.add(new DiskInfo("/dev/sda", "/mnt/disk1", "5000000", "4000000", "10%", "size", "fstype")); info.setMounts(mounts); @@ -146,7 +141,7 @@ public class HostTest { HostInfo info = new HostInfo(); info.setMemorySize(100); info.setProcessorCount(10); - List<DiskInfo> mounts = new ArrayList<DiskInfo>(); + List<DiskInfo> mounts = new ArrayList<>(); mounts.add(new DiskInfo("/dev/sda", "/mnt/disk1", "5000000", "4000000", "10%", "size", "fstype")); info.setMounts(mounts); @@ -360,22 +355,19 @@ public class HostTest { @Test public void testHostDesiredConfig() throws Exception { - AmbariMetaInfo metaInfo = injector.getInstance(AmbariMetaInfo.class); - StackId stackId = new StackId("HDP-0.1"); clusters.addCluster("c1", stackId); Cluster c1 = clusters.getCluster("c1"); helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - c1.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); + Assert.assertEquals("c1", c1.getClusterName()); clusters.addHost("h1"); Host host = clusters.getHost("h1"); host.setIPv4("ipv4"); host.setIPv6("ipv6"); - Map<String, String> hostAttributes = new HashMap<String, String>(); + Map<String, String> hostAttributes = new HashMap<>(); hostAttributes.put("os_family", "redhat"); hostAttributes.put("os_release_version", "6.3"); host.setHostAttributes(hostAttributes); @@ -400,7 +392,6 @@ public class HostTest { Map<String, DesiredConfig> map = host.getDesiredConfigs(c1.getClusterId()); Assert.assertTrue("Expect desired config to contain global", map.containsKey("global")); - Assert.assertEquals("Expect global user to be '_test'", "_test", map.get("global").getUser()); config = configFactory.createNew(c1, "global", "v2", new HashMap<String,String>() {{ put("c", "d"); }}, new HashMap<String, Map<String,String>>()); @@ -409,7 +400,6 @@ public class HostTest { map = host.getDesiredConfigs(c1.getClusterId()); Assert.assertTrue("Expect desired config to contain global", map.containsKey("global")); Assert.assertEquals("Expect version to be 'v2'", "v2", map.get("global").getTag()); - Assert.assertEquals("Expect user to be '_test1'", "_test1", map.get("global").getUser()); host.addDesiredConfig(c1.getClusterId(), false, "_test2", config); map = host.getDesiredConfigs(c1.getClusterId()); @@ -419,8 +409,6 @@ public class HostTest { @Test public void testHostMaintenance() throws Exception { - AmbariMetaInfo metaInfo = injector.getInstance(AmbariMetaInfo.class); - StackId stackId = new StackId("HDP-0.1"); clusters.addCluster("c1", stackId); Cluster c1 = clusters.getCluster("c1"); @@ -430,14 +418,12 @@ public class HostTest { host.setIPv4("ipv4"); host.setIPv6("ipv6"); - Map<String, String> hostAttributes = new HashMap<String, String>(); + Map<String, String> hostAttributes = new HashMap<>(); hostAttributes.put("os_family", "redhat"); hostAttributes.put("os_release_version", "6.3"); host.setHostAttributes(hostAttributes); helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - c1.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); c1.setDesiredStackVersion(stackId); clusters.mapHostToCluster("h1", "c1"); @@ -468,4 +454,4 @@ public class HostTest { Assert.assertEquals(rackInfo, host.getRackInfo()); Assert.assertEquals(lastRegistrationTime, host.getLastRegistrationTime()); } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java index 854a163..fc1f334 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostTest.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -43,6 +43,7 @@ import org.apache.ambari.server.orm.entities.ClusterEntity; import org.apache.ambari.server.orm.entities.HostComponentDesiredStateEntity; import org.apache.ambari.server.orm.entities.HostComponentStateEntity; import org.apache.ambari.server.orm.entities.HostEntity; +import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; @@ -50,7 +51,6 @@ import org.apache.ambari.server.state.ConfigFactory; import org.apache.ambari.server.state.Host; import org.apache.ambari.server.state.HostConfig; import org.apache.ambari.server.state.MaintenanceState; -import org.apache.ambari.server.state.RepositoryVersionState; import org.apache.ambari.server.state.SecurityState; import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.ServiceComponent; @@ -78,7 +78,7 @@ import com.google.inject.Inject; import com.google.inject.Injector; public class ServiceComponentHostTest { - private static Logger LOG = LoggerFactory.getLogger(ServiceComponentHostTest.class); + private static final Logger LOG = LoggerFactory.getLogger(ServiceComponentHostTest.class); @Inject private Injector injector; @Inject @@ -106,7 +106,8 @@ public class ServiceComponentHostTest { private String clusterName = "c1"; private String hostName1 = "h1"; - private Map<String, String> hostAttributes = new HashMap<String, String>(); + private Map<String, String> hostAttributes = new HashMap<>(); + private RepositoryVersionEntity repositoryVersion; @Before @@ -115,19 +116,16 @@ public class ServiceComponentHostTest { injector.getInstance(GuiceJpaInitializer.class); injector.injectMembers(this); - StackId stackId = new StackId("HDP-0.1"); + StackId stackId = new StackId("HDP-2.0.6"); createCluster(stackId, clusterName); hostAttributes.put("os_family", "redhat"); hostAttributes.put("os_release_version", "5.9"); - Set<String> hostNames = new HashSet<String>(); + Set<String> hostNames = new HashSet<>(); hostNames.add(hostName1); addHostsToCluster(clusterName, hostAttributes, hostNames); - Cluster c1 = clusters.getCluster(clusterName); - helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - c1.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); + repositoryVersion = helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); } @After @@ -136,6 +134,7 @@ public class ServiceComponentHostTest { } private ClusterEntity createCluster(StackId stackId, String clusterName) throws AmbariException { + helper.createStack(stackId); clusters.addCluster(clusterName, stackId); ClusterEntity clusterEntity = clusterDAO.findByName(clusterName); Assert.assertNotNull(clusterEntity); @@ -145,7 +144,7 @@ public class ServiceComponentHostTest { private void addHostsToCluster(String clusterName, Map<String, String> hostAttributes, Set<String> hostNames) throws AmbariException { ClusterEntity clusterEntity = clusterDAO.findByName(clusterName); - List<HostEntity> hostEntities = new ArrayList<HostEntity>(); + List<HostEntity> hostEntities = new ArrayList<>(); for (String hostName : hostNames) { clusters.addHost(hostName); Host host = clusters.getHost(hostName); @@ -178,9 +177,9 @@ public class ServiceComponentHostTest { try { s = c.getService(svc); } catch (ServiceNotFoundException e) { - LOG.debug("Calling service create" - + ", serviceName=" + svc); - s = serviceFactory.createNew(c, svc); + LOG.debug("Calling service create, serviceName={}", svc); + + s = serviceFactory.createNew(c, svc, repositoryVersion); c.addService(s); } @@ -207,10 +206,7 @@ public class ServiceComponentHostTest { Assert.assertNotNull(c.getServiceComponentHosts(hostName)); - Assert.assertFalse( - impl.getDesiredStackVersion().getStackId().isEmpty()); - - Assert.assertFalse(impl.getStackVersion().getStackId().isEmpty()); + Assert.assertNotNull(sc.getDesiredRepositoryVersion()); return impl; } @@ -229,7 +225,7 @@ public class ServiceComponentHostTest { case HOST_SVCCOMP_INSTALL: return new ServiceComponentHostInstallEvent( impl.getServiceComponentName(), impl.getHostName(), timestamp, - impl.getDesiredStackVersion().getStackId()); + impl.getServiceComponent().getDesiredStackId().toString()); case HOST_SVCCOMP_START: return new ServiceComponentHostStartEvent( impl.getServiceComponentName(), impl.getHostName(), timestamp); @@ -289,9 +285,7 @@ public class ServiceComponentHostTest { Assert.assertEquals(inProgressState, impl.getState()); if (checkStack) { - Assert.assertNotNull(impl.getStackVersion()); - Assert.assertEquals(impl.getDesiredStackVersion().getStackId(), - impl.getStackVersion().getStackId()); + Assert.assertNotNull(impl.getServiceComponent().getDesiredStackId()); } ServiceComponentHostEvent installEvent2 = createEvent(impl, ++timestamp, @@ -537,15 +531,9 @@ public class ServiceComponentHostTest { ServiceComponentHost sch = createNewServiceComponentHost(clusterName, "HDFS", "NAMENODE", hostName1, false); sch.setDesiredState(State.INSTALLED); sch.setState(State.INSTALLING); - sch.setStackVersion(new StackId("HDP-1.2.0")); - sch.setDesiredStackVersion(new StackId("HDP-1.2.0")); Assert.assertEquals(State.INSTALLING, sch.getState()); Assert.assertEquals(State.INSTALLED, sch.getDesiredState()); - Assert.assertEquals("HDP-1.2.0", - sch.getStackVersion().getStackId()); - Assert.assertEquals("HDP-1.2.0", - sch.getDesiredStackVersion().getStackId()); } @Test @@ -553,13 +541,11 @@ public class ServiceComponentHostTest { ServiceComponentHost sch = createNewServiceComponentHost(clusterName, "HDFS", "NAMENODE", hostName1, false); sch.setDesiredState(State.INSTALLED); sch.setState(State.INSTALLING); - sch.setStackVersion(new StackId("HDP-1.2.0")); - sch.setDesiredStackVersion(new StackId("HDP-1.2.0")); Cluster cluster = clusters.getCluster(clusterName); - final ConfigGroup configGroup = configGroupFactory.createNew(cluster, - "cg1", "t1", "", new HashMap<String, Config>(), new HashMap<Long, Host>()); + final ConfigGroup configGroup = configGroupFactory.createNew(cluster, "cg1", "t1", "", + new HashMap<String, Config>(), new HashMap<Long, Host>()); cluster.addConfigGroup(configGroup); @@ -585,7 +571,6 @@ public class ServiceComponentHostTest { ServiceComponentHost sch = createNewServiceComponentHost(clusterName, "HDFS", "DATANODE", hostName1, false); sch.setDesiredState(State.INSTALLED); sch.setState(State.INSTALLING); - sch.setStackVersion(new StackId("HDP-1.2.0")); ServiceComponentHostResponse r = sch.convertToResponse(null); Assert.assertEquals("HDFS", r.getServiceName()); Assert.assertEquals("DATANODE", r.getComponentName()); @@ -593,7 +578,7 @@ public class ServiceComponentHostTest { Assert.assertEquals(clusterName, r.getClusterName()); Assert.assertEquals(State.INSTALLED.toString(), r.getDesiredState()); Assert.assertEquals(State.INSTALLING.toString(), r.getLiveState()); - Assert.assertEquals("HDP-1.2.0", r.getStackVersion()); + Assert.assertEquals(repositoryVersion.getStackId().toString(), r.getDesiredStackVersion()); Assert.assertFalse(r.isStaleConfig()); @@ -660,7 +645,7 @@ public class ServiceComponentHostTest { // Test valid states in which host component can be disabled long timestamp = 0; - HashSet<State> validStates = new HashSet<State>(); + HashSet<State> validStates = new HashSet<>(); validStates.add(State.INSTALLED); validStates.add(State.INSTALL_FAILED); validStates.add(State.UNKNOWN); @@ -678,7 +663,7 @@ public class ServiceComponentHostTest { } // Test invalid states in which host component cannot be disabled - HashSet<State> invalidStates = new HashSet<State>(); + HashSet<State> invalidStates = new HashSet<>(); invalidStates.add(State.INIT); invalidStates.add(State.INSTALLING); invalidStates.add(State.STARTING); @@ -716,7 +701,7 @@ public class ServiceComponentHostTest { createCluster(stackId, clusterName); final String hostName = "h3"; - Set<String> hostNames = new HashSet<String>(); + Set<String> hostNames = new HashSet<>(); hostNames.add(hostName); addHostsToCluster(clusterName, hostAttributes, hostNames); @@ -726,25 +711,22 @@ public class ServiceComponentHostTest { Cluster cluster = clusters.getCluster(clusterName); Assert.assertNotNull(cluster); - helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); + RepositoryVersionEntity repositoryVersion = helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); ServiceComponentHost sch1 = createNewServiceComponentHost(cluster, "HDFS", "NAMENODE", hostName); ServiceComponentHost sch2 = createNewServiceComponentHost(cluster, "HDFS", "DATANODE", hostName); ServiceComponentHost sch3 = createNewServiceComponentHost(cluster, "MAPREDUCE2", "HISTORYSERVER", hostName); + sch1.getServiceComponent().setDesiredRepositoryVersion(repositoryVersion); + sch1.setDesiredState(State.INSTALLED); sch1.setState(State.INSTALLING); - sch1.setStackVersion(new StackId(stackVersion)); sch2.setDesiredState(State.INSTALLED); sch2.setState(State.INSTALLING); - sch2.setStackVersion(new StackId(stackVersion)); sch3.setDesiredState(State.INSTALLED); sch3.setState(State.INSTALLING); - sch3.setStackVersion(new StackId(stackVersion)); Assert.assertFalse(sch1.convertToResponse(null).isStaleConfig()); Assert.assertFalse(sch2.convertToResponse(null).isStaleConfig()); @@ -883,7 +865,7 @@ public class ServiceComponentHostTest { // Test actual configs are updated for deleted config group Long id = configGroup.getId(); - HashMap<String, String> tags = new HashMap<String, String>(2); + HashMap<String, String> tags = new HashMap<>(2); tags.put("tag", "version1"); tags.put(id.toString(), "version2"); actual.put("core-site", tags); @@ -910,31 +892,28 @@ public class ServiceComponentHostTest { createCluster(stackId, clusterName); final String hostName = "h3"; - Set<String> hostNames = new HashSet<String>(); + Set<String> hostNames = new HashSet<>(); hostNames.add(hostName); addHostsToCluster(clusterName, hostAttributes, hostNames); Cluster cluster = clusters.getCluster(clusterName); - helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); + RepositoryVersionEntity repositoryVersion = helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); ServiceComponentHost sch1 = createNewServiceComponentHost(cluster, "HDFS", "NAMENODE", hostName); ServiceComponentHost sch2 = createNewServiceComponentHost(cluster, "HDFS", "DATANODE", hostName); ServiceComponentHost sch3 = createNewServiceComponentHost(cluster, "MAPREDUCE2", "HISTORYSERVER", hostName); + sch1.getServiceComponent().setDesiredRepositoryVersion(repositoryVersion); + sch1.setDesiredState(State.INSTALLED); sch1.setState(State.INSTALLING); - sch1.setStackVersion(new StackId(stackVersion)); sch2.setDesiredState(State.INSTALLED); sch2.setState(State.INSTALLING); - sch2.setStackVersion(new StackId(stackVersion)); sch3.setDesiredState(State.INSTALLED); sch3.setState(State.INSTALLING); - sch3.setStackVersion(new StackId(stackVersion)); Assert.assertFalse(sch1.convertToResponse(null).isStaleConfig()); Assert.assertFalse(sch2.convertToResponse(null).isStaleConfig()); @@ -977,7 +956,7 @@ public class ServiceComponentHostTest { Assert.assertFalse(sch3.convertToResponse(null).isStaleConfig()); // Now add config-attributes - Map<String, Map<String, String>> c1PropAttributes = new HashMap<String, Map<String,String>>(); + Map<String, Map<String, String>> c1PropAttributes = new HashMap<>(); c1PropAttributes.put("final", new HashMap<String, String>()); c1PropAttributes.get("final").put("hdfs1", "true"); makeConfig(cluster, "hdfs-site", "version2", @@ -992,7 +971,7 @@ public class ServiceComponentHostTest { Assert.assertFalse(sch3.convertToResponse(null).isStaleConfig()); // Now change config-attributes - Map<String, Map<String, String>> c2PropAttributes = new HashMap<String, Map<String,String>>(); + Map<String, Map<String, String>> c2PropAttributes = new HashMap<>(); c2PropAttributes.put("final", new HashMap<String, String>()); c2PropAttributes.get("final").put("hdfs1", "false"); makeConfig(cluster, "hdfs-site", "version3", @@ -1040,15 +1019,13 @@ public class ServiceComponentHostTest { createCluster(stackId, clusterName); final String hostName = "h3"; - Set<String> hostNames = new HashSet<String>(); + Set<String> hostNames = new HashSet<>(); hostNames.add(hostName); addHostsToCluster(clusterName, hostAttributes, hostNames); Cluster cluster = clusters.getCluster(clusterName); helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); HostEntity hostEntity = hostDAO.findByName(hostName); Assert.assertNotNull(hostEntity); @@ -1087,15 +1064,13 @@ public class ServiceComponentHostTest { createCluster(stackId, clusterName); final String hostName = "h3"; - Set<String> hostNames = new HashSet<String>(); + Set<String> hostNames = new HashSet<>(); hostNames.add(hostName); addHostsToCluster(clusterName, hostAttributes, hostNames); Cluster cluster = clusters.getCluster(clusterName); helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); - cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", - RepositoryVersionState.INSTALLING); HostEntity hostEntity = hostDAO.findByName(hostName); ServiceComponentHost sch1 = createNewServiceComponentHost(cluster, "HDFS", "NAMENODE", hostName); @@ -1127,4 +1102,4 @@ public class ServiceComponentHostTest { } } } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java index 587d0af..101c693 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/topology/TopologyManagerTest.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -46,7 +46,6 @@ import java.util.concurrent.Future; import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.actionmanager.HostRoleStatus; -import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.controller.ClusterRequest; import org.apache.ambari.server.controller.ConfigurationRequest; import org.apache.ambari.server.controller.RequestStatusResponse; @@ -101,7 +100,6 @@ public class TopologyManagerTest { private static final String SAMPLE_QUICKLINKS_PROFILE_2 = "{\"filters\":[],\"services\":[{\"name\":\"HDFS\",\"components\":[],\"filters\":[{\"visible\":true}]}]}"; - @Rule public EasyMockRule mocks = new EasyMockRule(this); @@ -182,19 +180,19 @@ public class TopologyManagerTest { private HostGroupInfo group1Info = new HostGroupInfo("group1"); private HostGroupInfo group2Info = new HostGroupInfo("group2"); - private Map<String, HostGroupInfo> groupInfoMap = new HashMap<String, HostGroupInfo>(); + private Map<String, HostGroupInfo> groupInfoMap = new HashMap<>(); private Collection<Component> group1Components = Arrays.asList(new Component("component1"), new Component("component2"), new Component("component3")); private Collection<Component> group2Components = Arrays.asList(new Component("component3"), new Component("component4")); - private Map<String, Collection<String>> group1ServiceComponents = new HashMap<String, Collection<String>>(); - private Map<String, Collection<String>> group2ServiceComponents = new HashMap<String, Collection<String>>(); + private Map<String, Collection<String>> group1ServiceComponents = new HashMap<>(); + private Map<String, Collection<String>> group2ServiceComponents = new HashMap<>(); - private Map<String, Collection<String>> serviceComponents = new HashMap<String, Collection<String>>(); + private Map<String, Collection<String>> serviceComponents = new HashMap<>(); private String predicate = "Hosts/host_name=foo"; - private List<TopologyValidator> topologyValidators = new ArrayList<TopologyValidator>(); + private List<TopologyValidator> topologyValidators = new ArrayList<>(); private Capture<ClusterTopology> clusterTopologyCapture; private Capture<Map<String, Object>> configRequestPropertiesCapture; @@ -216,7 +214,7 @@ public class TopologyManagerTest { topoConfiguration.setProperty("service2-site", "s2-prop", "s2-prop-value"); topoConfiguration.setProperty("cluster-env", "g-prop", "g-prop-value"); - //clusterRequestCapture = new Capture<ClusterRequest>(); + //clusterRequestCapture = EasyMock.newCapture(); // group 1 has fqdn specified group1Info.addHost("host1"); group1Info.setConfiguration(topoGroup1Config); @@ -228,7 +226,7 @@ public class TopologyManagerTest { groupInfoMap.put("group1", group1Info); groupInfoMap.put("group2", group2Info); - Map<String, HostGroup> groupMap = new HashMap<String, HostGroup>(); + Map<String, HostGroup> groupMap = new HashMap<>(); groupMap.put("group1", group1); groupMap.put("group2", group2); @@ -284,9 +282,8 @@ public class TopologyManagerTest { expect(request.getDescription()).andReturn("Provision Cluster Test").anyTimes(); expect(request.getConfiguration()).andReturn(topoConfiguration).anyTimes(); expect(request.getHostGroupInfo()).andReturn(groupInfoMap).anyTimes(); - + expect(request.getRepositoryVersion()).andReturn("1").anyTimes(); expect(request.getConfigRecommendationStrategy()).andReturn(ConfigRecommendationStrategy.NEVER_APPLY).anyTimes(); - expect(request.getSecurityConfiguration()).andReturn(null).anyTimes(); @@ -540,7 +537,7 @@ public class TopologyManagerTest { HashSet<Map<String, Object>> propertySet = new HashSet<>(); Map<String,Object> properties = new TreeMap<>(); properties.put(HostResourceProvider.HOST_NAME_PROPERTY_ID, "host1"); - properties.put(HostResourceProvider.HOSTGROUP_PROPERTY_ID, "group1"); + properties.put(HostResourceProvider.HOST_GROUP_PROPERTY_ID, "group1"); properties.put(HostResourceProvider.HOST_CLUSTER_NAME_PROPERTY_ID, CLUSTER_NAME); properties.put(HostResourceProvider.BLUEPRINT_PROPERTY_ID, BLUEPRINT_NAME); propertySet.add(properties); @@ -615,4 +612,4 @@ public class TopologyManagerTest { settingEntity.setUpdateTimestamp(timeStamp); return settingEntity; } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogHelper.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogHelper.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogHelper.java index 4c11d10..fbc9d43 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogHelper.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogHelper.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -19,6 +19,7 @@ package org.apache.ambari.server.upgrade; import java.util.Collections; +import org.apache.ambari.server.orm.OrmTestHelper; import org.apache.ambari.server.orm.dao.ClusterDAO; import org.apache.ambari.server.orm.dao.ClusterServiceDAO; import org.apache.ambari.server.orm.dao.HostComponentDesiredStateDAO; @@ -30,6 +31,7 @@ import org.apache.ambari.server.orm.entities.ClusterServiceEntity; import org.apache.ambari.server.orm.entities.HostComponentDesiredStateEntity; import org.apache.ambari.server.orm.entities.HostComponentStateEntity; import org.apache.ambari.server.orm.entities.HostEntity; +import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.orm.entities.ResourceEntity; import org.apache.ambari.server.orm.entities.ResourceTypeEntity; import org.apache.ambari.server.orm.entities.ServiceComponentDesiredStateEntity; @@ -37,6 +39,7 @@ import org.apache.ambari.server.orm.entities.ServiceDesiredStateEntity; import org.apache.ambari.server.orm.entities.StackEntity; import org.apache.ambari.server.security.authorization.ResourceType; import org.apache.ambari.server.state.HostComponentAdminState; +import org.apache.ambari.server.state.StackId; import org.apache.ambari.server.state.State; import com.google.inject.Injector; @@ -49,7 +52,8 @@ import com.google.inject.persist.Transactional; public class UpgradeCatalogHelper { /** - * Creates a cluster with the specified name and stack. + * Creates a cluster with the specified name and stack as well as the + * repository version. * * @param injector * @param clusterName @@ -57,7 +61,7 @@ public class UpgradeCatalogHelper { * @return */ protected ClusterEntity createCluster(Injector injector, String clusterName, - StackEntity desiredStackEntity) { + StackEntity desiredStackEntity, String repositoryVersion) { ResourceTypeDAO resourceTypeDAO = injector.getInstance(ResourceTypeDAO.class); // create an admin resource to represent this cluster @@ -81,6 +85,12 @@ public class UpgradeCatalogHelper { clusterEntity.setResource(resourceEntity); clusterDAO.create(clusterEntity); + + OrmTestHelper ormTestHelper = injector.getInstance(OrmTestHelper.class); + ormTestHelper.getOrCreateRepositoryVersion( + new StackId(desiredStackEntity.getStackName(), desiredStackEntity.getStackVersion()), + repositoryVersion); + return clusterEntity; } @@ -110,19 +120,19 @@ public class UpgradeCatalogHelper { * @param injector * @param clusterEntity * @param serviceName - * @param desiredStackEntity + * @param desiredRepositoryVersion * @return */ protected ClusterServiceEntity addService(Injector injector, ClusterEntity clusterEntity, String serviceName, - StackEntity desiredStackEntity) { + RepositoryVersionEntity desiredRepositoryVersion) { ClusterDAO clusterDAO = injector.getInstance(ClusterDAO.class); ClusterServiceEntity clusterServiceEntity = createService(injector, clusterEntity, serviceName); ServiceDesiredStateEntity serviceDesiredStateEntity = new ServiceDesiredStateEntity(); - serviceDesiredStateEntity.setDesiredStack(desiredStackEntity); + serviceDesiredStateEntity.setDesiredRepositoryVersion(desiredRepositoryVersion); serviceDesiredStateEntity.setClusterId(1L); serviceDesiredStateEntity.setServiceName(serviceName); serviceDesiredStateEntity.setClusterServiceEntity(clusterServiceEntity); @@ -158,18 +168,11 @@ public class UpgradeCatalogHelper { /** * Adds a host component for a given service and host. - * - * @param injector - * @param clusterEntity - * @param clusterServiceEntity - * @param hostEntity - * @param componentName - * @param desiredStackEntity */ @Transactional protected void addComponent(Injector injector, ClusterEntity clusterEntity, ClusterServiceEntity clusterServiceEntity, HostEntity hostEntity, - String componentName, StackEntity desiredStackEntity) { + String componentName, StackEntity desiredStackEntity, RepositoryVersionEntity desiredRepositoryVersion) { ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO = injector.getInstance( ServiceComponentDesiredStateDAO.class); @@ -177,9 +180,10 @@ public class UpgradeCatalogHelper { componentDesiredStateEntity.setClusterServiceEntity(clusterServiceEntity); componentDesiredStateEntity.setComponentName(componentName); componentDesiredStateEntity.setServiceName(clusterServiceEntity.getServiceName()); - componentDesiredStateEntity.setDesiredStack(desiredStackEntity); componentDesiredStateEntity.setClusterServiceEntity(clusterServiceEntity); componentDesiredStateEntity.setClusterId(clusterServiceEntity.getClusterId()); + componentDesiredStateEntity.setDesiredRepositoryVersion(desiredRepositoryVersion); + serviceComponentDesiredStateDAO.create(componentDesiredStateEntity); HostComponentDesiredStateDAO hostComponentDesiredStateDAO = injector.getInstance(HostComponentDesiredStateDAO.class); @@ -190,7 +194,6 @@ public class UpgradeCatalogHelper { hostComponentDesiredStateEntity.setAdminState(HostComponentAdminState.INSERVICE); hostComponentDesiredStateEntity.setServiceComponentDesiredStateEntity(componentDesiredStateEntity); hostComponentDesiredStateEntity.setHostEntity(hostEntity); - hostComponentDesiredStateEntity.setDesiredStack(desiredStackEntity); hostComponentDesiredStateDAO.create(hostComponentDesiredStateEntity); HostComponentStateEntity hostComponentStateEntity = new HostComponentStateEntity(); @@ -198,9 +201,7 @@ public class UpgradeCatalogHelper { hostComponentStateEntity.setComponentName(componentName); hostComponentStateEntity.setServiceName(clusterServiceEntity.getServiceName()); hostComponentStateEntity.setClusterId(clusterEntity.getClusterId()); - hostComponentStateEntity.setCurrentStack(clusterEntity.getDesiredStack()); hostComponentStateEntity.setServiceComponentDesiredStateEntity(componentDesiredStateEntity); - hostComponentStateEntity.setCurrentStack(desiredStackEntity); componentDesiredStateEntity.setHostComponentStateEntities(Collections.singletonList(hostComponentStateEntity)); componentDesiredStateEntity.setHostComponentDesiredStateEntities(Collections.singletonList(hostComponentDesiredStateEntity)); @@ -217,4 +218,4 @@ public class UpgradeCatalogHelper { hostDAO.merge(hostEntity); clusterServiceDAO.merge(clusterServiceEntity); } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java index 4f0e7b0..fbf5e05 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalogTest.java @@ -17,35 +17,27 @@ */ package org.apache.ambari.server.upgrade; -import com.google.inject.Guice; -import com.google.inject.Inject; -import com.google.inject.Injector; -import com.google.inject.multibindings.Multibinder; -import junit.framework.Assert; +import java.sql.SQLException; +import java.util.List; +import java.util.Set; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.H2DatabaseCleaner; import org.apache.ambari.server.api.services.AmbariMetaInfo; -import org.apache.ambari.server.controller.AmbariManagementController; -import org.apache.ambari.server.controller.ClusterRequest; -import org.apache.ambari.server.controller.ConfigurationRequest; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; import org.apache.ambari.server.security.TestAuthenticationFactory; -import org.apache.ambari.server.state.Cluster; -import org.apache.ambari.server.state.Clusters; -import org.apache.ambari.server.state.Config; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.security.core.context.SecurityContextHolder; -import java.sql.SQLException; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import com.google.inject.Guice; +import com.google.inject.Inject; +import com.google.inject.Injector; +import com.google.inject.multibindings.Multibinder; + +import junit.framework.Assert; public class UpgradeCatalogTest { private Injector injector; @@ -90,8 +82,8 @@ public class UpgradeCatalogTest { Multibinder<UpgradeCatalog> catalogBinder = Multibinder.newSetBinder(binder(), UpgradeCatalog.class); catalogBinder.addBinding().to(UpgradeCatalog201.class); - catalogBinder.addBinding().to(UpgradeCatalog200.class); - catalogBinder.addBinding().to(UpgradeCatalog210.class); + catalogBinder.addBinding().to(UpgradeCatalog251.class); + catalogBinder.addBinding().to(UpgradeCatalog252.class); } } @@ -121,13 +113,13 @@ public class UpgradeCatalogTest { Set<UpgradeCatalog> upgradeCatalogSet = schemaUpgradeHelper.getAllUpgradeCatalogs(); Assert.assertNotNull(upgradeCatalogSet); - Assert.assertEquals(3, upgradeCatalogSet.size()); + Assert.assertEquals(4, upgradeCatalogSet.size()); - List<UpgradeCatalog> upgradeCatalogs = schemaUpgradeHelper.getUpgradePath(null, "2.0.1"); + List<UpgradeCatalog> upgradeCatalogs = schemaUpgradeHelper.getUpgradePath(null, "2.5.1"); Assert.assertNotNull(upgradeCatalogs); Assert.assertEquals(2, upgradeCatalogs.size()); - Assert.assertEquals("2.0.0", upgradeCatalogs.get(0).getTargetVersion()); - Assert.assertEquals("2.0.1", upgradeCatalogs.get(1).getTargetVersion()); + Assert.assertEquals("2.0.1", upgradeCatalogs.get(0).getTargetVersion()); + Assert.assertEquals("2.5.1", upgradeCatalogs.get(1).getTargetVersion()); } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java b/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java index 88f6f20..c068c5b 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java @@ -46,7 +46,6 @@ import java.util.TreeMap; import javax.persistence.EntityManager; import javax.xml.bind.JAXBException; -import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.actionmanager.ExecutionCommandWrapper; import org.apache.ambari.server.actionmanager.ExecutionCommandWrapperFactory; import org.apache.ambari.server.actionmanager.HostRoleCommandFactory; @@ -74,7 +73,6 @@ import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.ServiceComponent; import org.apache.ambari.server.state.ServiceComponentHost; import org.apache.ambari.server.state.ServiceComponentHostFactory; -import org.apache.ambari.server.state.StackId; import org.apache.ambari.server.state.cluster.ClusterFactory; import org.apache.ambari.server.state.host.HostFactory; import org.apache.ambari.server.state.stack.OsFamily; @@ -140,29 +138,6 @@ public class StageUtilsTest extends EasyMockSupport { StageUtils.setConfiguration(injector.getInstance(Configuration.class)); } - - public static void addService(Cluster cl, List<String> hostList, - Map<String, List<Integer>> topology, String serviceName, - Injector injector) throws AmbariException { - ServiceComponentHostFactory serviceComponentHostFactory = injector.getInstance(ServiceComponentHostFactory.class); - - cl.setDesiredStackVersion(new StackId(STACK_ID)); - cl.addService(serviceName); - - for (Entry<String, List<Integer>> component : topology.entrySet()) { - String componentName = component.getKey(); - cl.getService(serviceName).addServiceComponent(componentName); - - for (Integer hostIndex : component.getValue()) { - cl.getService(serviceName) - .getServiceComponent(componentName) - .addServiceComponentHost( - serviceComponentHostFactory.createNew(cl.getService(serviceName) - .getServiceComponent(componentName), hostList.get(hostIndex))); - } - } - } - @Test public void testGetATestStage() { StageUtils stageUtils = new StageUtils(injector.getInstance(StageFactory.class)); @@ -195,8 +170,8 @@ public class StageUtilsTest extends EasyMockSupport { StageUtils stageUtils = new StageUtils(injector.getInstance(StageFactory.class)); Stage s = StageUtils.getATestStage(1, 2, "host1", "clusterHostInfo", "hostParamsStage"); ExecutionCommand cmd = s.getExecutionCommands("host1").get(0).getExecutionCommand(); - HashMap<String, Map<String, String>> configTags = new HashMap<String, Map<String, String>>(); - Map<String, String> globalTag = new HashMap<String, String>(); + HashMap<String, Map<String, String>> configTags = new HashMap<>(); + Map<String, String> globalTag = new HashMap<>(); globalTag.put("tag", "version1"); configTags.put("global", globalTag); cmd.setConfigurationTags(configTags); @@ -221,8 +196,8 @@ public class StageUtilsTest extends EasyMockSupport { final Clusters clusters = createNiceMock(Clusters.class); - List<Host> hosts = new ArrayList<Host>(); - List<String> hostNames = new ArrayList<String>(); + List<Host> hosts = new ArrayList<>(); + List<String> hostNames = new ArrayList<>(); List<Integer> pingPorts = Arrays.asList(StageUtils.DEFAULT_PING_PORT, StageUtils.DEFAULT_PING_PORT, @@ -324,7 +299,7 @@ public class StageUtilsTest extends EasyMockSupport { final ServiceComponentHost nns7ServiceComponentHost = createMock(ServiceComponentHost.class); expect(nns7ServiceComponentHost.getComponentAdminState()).andReturn(HostComponentAdminState.INSERVICE).anyTimes(); - Map<String, Collection<String>> projectedTopology = new HashMap<String, Collection<String>>(); + Map<String, Collection<String>> projectedTopology = new HashMap<>(); final HashMap<String, ServiceComponentHost> nnServiceComponentHosts = new HashMap<String, ServiceComponentHost>() { @@ -582,16 +557,16 @@ public class StageUtilsTest extends EasyMockSupport { Set<String> actualPingPorts = info.get(StageUtils.PORTS); if (pingPorts.contains(null)) { - assertEquals(new HashSet<Integer>(pingPorts).size(), actualPingPorts.size() + 1); + assertEquals(new HashSet<>(pingPorts).size(), actualPingPorts.size() + 1); } else { - assertEquals(new HashSet<Integer>(pingPorts).size(), actualPingPorts.size()); + assertEquals(new HashSet<>(pingPorts).size(), actualPingPorts.size()); } List<Integer> pingPortsActual = getRangeMappedDecompressedSet(actualPingPorts); - List<Integer> reindexedPorts = getReindexedList(pingPortsActual, new ArrayList<String>(allHosts), hostNames); + List<Integer> reindexedPorts = getReindexedList(pingPortsActual, new ArrayList<>(allHosts), hostNames); //Treat null values - List<Integer> expectedPingPorts = new ArrayList<Integer>(pingPorts); + List<Integer> expectedPingPorts = new ArrayList<>(pingPorts); for (int i = 0; i < expectedPingPorts.size(); i++) { if (expectedPingPorts.get(i) == null) { expectedPingPorts.set(i, StageUtils.DEFAULT_PING_PORT); @@ -631,7 +606,7 @@ public class StageUtilsTest extends EasyMockSupport { Collection<String> components = projectedTopology.get(hostname); if (components == null) { - components = new HashSet<String>(); + components = new HashSet<>(); projectedTopology.put(hostname, components); } @@ -642,8 +617,8 @@ public class StageUtilsTest extends EasyMockSupport { private void checkServiceHostIndexes(Map<String, Set<String>> info, String componentName, String mappedComponentName, Map<String, Collection<String>> serviceTopology, List<String> hostList) { - Set<Integer> expectedHostsList = new HashSet<Integer>(); - Set<Integer> actualHostsList = new HashSet<Integer>(); + Set<Integer> expectedHostsList = new HashSet<>(); + Set<Integer> actualHostsList = new HashSet<>(); // Determine the expected hosts for a given component... for (Entry<String, Collection<String>> entry : serviceTopology.entrySet()) { @@ -663,8 +638,8 @@ public class StageUtilsTest extends EasyMockSupport { private void checkServiceHostNames(Map<String, Set<String>> info, String componentName, String mappedComponentName, Map<String, Collection<String>> serviceTopology) { - Set<String> expectedHostsList = new HashSet<String>(); - Set<String> actualHostsList = new HashSet<String>(); + Set<String> expectedHostsList = new HashSet<>(); + Set<String> actualHostsList = new HashSet<>(); // Determine the expected hosts for a given component... for (Entry<String, Collection<String>> entry : serviceTopology.entrySet()) { @@ -684,7 +659,7 @@ public class StageUtilsTest extends EasyMockSupport { private Set<Integer> getDecompressedSet(Set<String> set) { - Set<Integer> resultSet = new HashSet<Integer>(); + Set<Integer> resultSet = new HashSet<>(); for (String index : set) { String[] ranges = index.split(","); @@ -712,7 +687,7 @@ public class StageUtilsTest extends EasyMockSupport { private List<Integer> getRangeMappedDecompressedSet(Set<String> compressedSet) { - SortedMap<Integer, Integer> resultMap = new TreeMap<Integer, Integer>(); + SortedMap<Integer, Integer> resultMap = new TreeMap<>(); for (String token : compressedSet) { @@ -728,7 +703,7 @@ public class StageUtilsTest extends EasyMockSupport { String rangeTokens = split[1]; Set<String> rangeTokensSet = - new HashSet<String>(Arrays.asList(rangeTokens.split(","))); + new HashSet<>(Arrays.asList(rangeTokens.split(","))); Set<Integer> decompressedSet = getDecompressedSet(rangeTokensSet); @@ -738,7 +713,7 @@ public class StageUtilsTest extends EasyMockSupport { } - List<Integer> resultList = new ArrayList<Integer>(resultMap.values()); + List<Integer> resultList = new ArrayList<>(resultMap.values()); return resultList; @@ -747,7 +722,7 @@ public class StageUtilsTest extends EasyMockSupport { private List<Integer> getReindexedList(List<Integer> list, List<String> currentIndexes, List<String> desiredIndexes) { - SortedMap<Integer, Integer> sortedMap = new TreeMap<Integer, Integer>(); + SortedMap<Integer, Integer> sortedMap = new TreeMap<>(); int index = 0; @@ -758,7 +733,7 @@ public class StageUtilsTest extends EasyMockSupport { index++; } - return new ArrayList<Integer>(sortedMap.values()); + return new ArrayList<>(sortedMap.values()); } private String getHostName() {
