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 2017/05/09 16:25:08 UTC
[3/6] ambari git commit: AMBARI-20957. Remove cluster_version use
(ncole)
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
index caf7210..1da5a90 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProviderTest.java
@@ -68,14 +68,10 @@ import org.apache.ambari.server.controller.spi.ResourceProvider;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
-import org.apache.ambari.server.orm.dao.ClusterVersionDAO;
import org.apache.ambari.server.orm.dao.HostComponentStateDAO;
import org.apache.ambari.server.orm.dao.HostVersionDAO;
import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
-import org.apache.ambari.server.orm.dao.ResourceTypeDAO;
-import org.apache.ambari.server.orm.dao.StackDAO;
import org.apache.ambari.server.orm.entities.ClusterEntity;
-import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.orm.entities.HostVersionEntity;
import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.orm.entities.StackEntity;
@@ -130,9 +126,6 @@ public class ClusterStackVersionResourceProviderTest {
private Injector injector;
private AmbariMetaInfo ambariMetaInfo;
private RepositoryVersionDAO repositoryVersionDAOMock;
- private ResourceTypeDAO resourceTypeDAO;
- private StackDAO stackDAO;
- private ClusterVersionDAO clusterVersionDAO;
private ConfigHelper configHelper;
private Configuration configuration;
private StageFactory stageFactory;
@@ -172,14 +165,11 @@ public class ClusterStackVersionResourceProviderTest {
String.valueOf(MAX_TASKS_PER_STAGE));
configuration = new Configuration(properties);
stageFactory = createNiceMock(StageFactory.class);
- clusterVersionDAO = createNiceMock(ClusterVersionDAO.class);
// Initialize injector
injector = Guice.createInjector(Modules.override(inMemoryModule).with(new MockModule()));
injector.getInstance(GuiceJpaInitializer.class);
ambariMetaInfo = injector.getInstance(AmbariMetaInfo.class);
- resourceTypeDAO = injector.getInstance(ResourceTypeDAO.class);
- stackDAO = injector.getInstance(StackDAO.class);
}
@After
@@ -315,7 +305,7 @@ public class ClusterStackVersionResourceProviderTest {
}
}).anyTimes();
- expect(cluster.transitionHostsToInstalling(anyObject(ClusterVersionEntity.class),
+ expect(cluster.transitionHostsToInstalling(
anyObject(RepositoryVersionEntity.class), anyObject(VersionDefinitionXml.class),
eq(false))).andReturn(hostsNeedingInstallCommands).atLeastOnce();
@@ -350,20 +340,14 @@ public class ClusterStackVersionResourceProviderTest {
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterId(1l);
clusterEntity.setClusterName(clusterName);
- ClusterVersionEntity cve = new ClusterVersionEntity(clusterEntity,
- repoVersion, RepositoryVersionState.INSTALL_FAILED, 0, "");
- expect(clusterVersionDAO.findByClusterAndStackAndVersion(anyObject(String.class),
- anyObject(StackId.class), anyObject(String.class))).andReturn(cve);
StageUtils.setTopologyManager(injector.getInstance(TopologyManager.class));
StageUtils.setConfiguration(injector.getInstance(Configuration.class));
- expect(clusterVersionDAO.findByCluster(anyObject(String.class))).andReturn(Collections.<ClusterVersionEntity>emptyList()).once();
-
// replay
replay(managementController, response, clusters, resourceProviderFactory, csvResourceProvider,
cluster, repositoryVersionDAOMock, configHelper, schDatanode, schNamenode, schAMS, actionManager,
- executionCommand, executionCommandWrapper,stage, stageFactory, clusterVersionDAO);
+ executionCommand, executionCommandWrapper,stage, stageFactory);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
@@ -443,23 +427,14 @@ public class ClusterStackVersionResourceProviderTest {
Service hbaseService = createNiceMock(Service.class);
expect(hdfsService.getName()).andReturn("HDFS").anyTimes();
expect(hbaseService.getName()).andReturn("HBASE").anyTimes();
-// Service metricsService = createNiceMock(Service.class);
-
- ServiceComponent scNameNode = createNiceMock(ServiceComponent.class);
- ServiceComponent scDataNode = createNiceMock(ServiceComponent.class);
- ServiceComponent scHBaseMaster = createNiceMock(ServiceComponent.class);
- ServiceComponent scMetricCollector = createNiceMock(ServiceComponent.class);
expect(hdfsService.getServiceComponents()).andReturn(new HashMap<String, ServiceComponent>());
expect(hbaseService.getServiceComponents()).andReturn(new HashMap<String, ServiceComponent>());
-// expect(metricsService.getServiceComponents()).andReturn(new HashMap<String, ServiceComponent>());
-
Map<String, Service> serviceMap = new HashMap<>();
serviceMap.put("HDFS", hdfsService);
serviceMap.put("HBASE", hbaseService);
-
final ServiceComponentHost schDatanode = createMock(ServiceComponentHost.class);
expect(schDatanode.getServiceName()).andReturn("HDFS").anyTimes();
expect(schDatanode.getServiceComponentName()).andReturn("DATANODE").anyTimes();
@@ -488,9 +463,6 @@ public class ClusterStackVersionResourceProviderTest {
ServiceOsSpecific.Package hdfsPackage = new ServiceOsSpecific.Package();
hdfsPackage.setName("hdfs");
-// ServiceOsSpecific.Package hbasePackage = new ServiceOsSpecific.Package();
-// hbasePackage.setName("hbase");
-
List<ServiceOsSpecific.Package> packages = Collections.singletonList(hdfsPackage);
ActionManager actionManager = createNiceMock(ActionManager.class);
@@ -573,10 +545,6 @@ public class ClusterStackVersionResourceProviderTest {
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterId(1l);
clusterEntity.setClusterName(clusterName);
- ClusterVersionEntity cve = new ClusterVersionEntity(clusterEntity,
- repoVersion, RepositoryVersionState.INSTALL_FAILED, 0, "");
- expect(clusterVersionDAO.findByClusterAndStackAndVersion(anyObject(String.class),
- anyObject(StackId.class), anyObject(String.class))).andReturn(cve);
TopologyManager topologyManager = injector.getInstance(TopologyManager.class);
StageUtils.setTopologyManager(topologyManager);
@@ -584,7 +552,7 @@ public class ClusterStackVersionResourceProviderTest {
// replay
replay(managementController, response, clusters, hdfsService, hbaseService, resourceProviderFactory, csvResourceProvider,
cluster, repositoryVersionDAOMock, configHelper, schDatanode, schNamenode, schAMS, schHBM, actionManager,
- executionCommand, executionCommandWrapper,stage, stageFactory, clusterVersionDAO);
+ executionCommand, executionCommandWrapper,stage, stageFactory);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
@@ -767,9 +735,8 @@ public class ClusterStackVersionResourceProviderTest {
}
}).anyTimes();
- expect(cluster.transitionHostsToInstalling(anyObject(ClusterVersionEntity.class),
- anyObject(RepositoryVersionEntity.class), anyObject(VersionDefinitionXml.class),
- eq(false))).andReturn(hostsNeedingInstallCommands).atLeastOnce();
+ expect(cluster.transitionHostsToInstalling(anyObject(RepositoryVersionEntity.class),
+ anyObject(VersionDefinitionXml.class), eq(false))).andReturn(hostsNeedingInstallCommands).atLeastOnce();
// ExecutionCommand executionCommand = createNiceMock(ExecutionCommand.class);
ExecutionCommand executionCommand = new ExecutionCommand();
@@ -797,8 +764,6 @@ public class ClusterStackVersionResourceProviderTest {
anyObject(StackId.class),
anyObject(String.class))).andReturn(repoVersion);
- expect(clusterVersionDAO.findByCluster(anyObject(String.class))).andReturn(Collections.<ClusterVersionEntity>emptyList()).once();
-
Capture<org.apache.ambari.server.actionmanager.Request> c = Capture.newInstance();
Capture<ExecuteActionRequest> ear = Capture.newInstance();
@@ -809,11 +774,6 @@ public class ClusterStackVersionResourceProviderTest {
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterId(1l);
clusterEntity.setClusterName(clusterName);
- ClusterVersionEntity cve = new ClusterVersionEntity(clusterEntity,
- repoVersion, RepositoryVersionState.INSTALL_FAILED, 0, "");
- expect(clusterVersionDAO.findByClusterAndStackAndVersion(anyObject(String.class),
- anyObject(StackId.class), anyObject(String.class))).andReturn(cve);
-
StageUtils.setTopologyManager(injector.getInstance(TopologyManager.class));
StageUtils.setConfiguration(injector.getInstance(Configuration.class));
@@ -821,7 +781,7 @@ public class ClusterStackVersionResourceProviderTest {
// replay
replay(managementController, response, clusters, hdfsService, hbaseService, resourceProviderFactory, csvResourceProvider,
cluster, repositoryVersionDAOMock, configHelper, schDatanode, schNamenode, schHBM, actionManager,
- executionCommandWrapper,stage, stageFactory, clusterVersionDAO);
+ executionCommandWrapper,stage, stageFactory);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
@@ -1015,9 +975,8 @@ public class ClusterStackVersionResourceProviderTest {
}
}).anyTimes();
- expect(cluster.transitionHostsToInstalling(anyObject(ClusterVersionEntity.class),
- anyObject(RepositoryVersionEntity.class), anyObject(VersionDefinitionXml.class),
- eq(false))).andReturn(hostsNeedingInstallCommands).atLeastOnce();
+ expect(cluster.transitionHostsToInstalling(anyObject(RepositoryVersionEntity.class),
+ anyObject(VersionDefinitionXml.class), eq(false))).andReturn(hostsNeedingInstallCommands).atLeastOnce();
// ExecutionCommand executionCommand = createNiceMock(ExecutionCommand.class);
ExecutionCommand executionCommand = new ExecutionCommand();
@@ -1053,20 +1012,14 @@ public class ClusterStackVersionResourceProviderTest {
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterId(1l);
clusterEntity.setClusterName(clusterName);
- ClusterVersionEntity cve = new ClusterVersionEntity(clusterEntity,
- repoVersion, RepositoryVersionState.INSTALL_FAILED, 0, "");
- expect(clusterVersionDAO.findByClusterAndStackAndVersion(anyObject(String.class),
- anyObject(StackId.class), anyObject(String.class))).andReturn(cve);
StageUtils.setTopologyManager(injector.getInstance(TopologyManager.class));
StageUtils.setConfiguration(injector.getInstance(Configuration.class));
- expect(clusterVersionDAO.findByCluster(anyObject(String.class))).andReturn(Collections.<ClusterVersionEntity>emptyList()).once();
-
// replay
replay(managementController, response, clusters, hdfsService, hbaseService, resourceProviderFactory, csvResourceProvider,
cluster, repositoryVersionDAOMock, configHelper, schDatanode, schNamenode, schHBM, actionManager,
- executionCommandWrapper,stage, stageFactory, clusterVersionDAO);
+ executionCommandWrapper,stage, stageFactory);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
@@ -1154,15 +1107,32 @@ public class ClusterStackVersionResourceProviderTest {
int hostCount = 10;
for (int i = 0; i < hostCount; i++) {
String hostname = "host" + i;
+
+ List<HostVersionEntity> hostVersions = new ArrayList<>();
+
+ HostVersionEntity hostVersion = createNiceMock(HostVersionEntity.class);
+ expect(hostVersion.getRepositoryVersion()).andReturn(repoVersion);
+
+ hostVersions.add(hostVersion);
+ if (i == 2) {
+ // !!! make it look like there is already a versioned installed that is less than the one being installed
+ RepositoryVersionEntity badRve = new RepositoryVersionEntity();
+ badRve.setStack(stack);
+ badRve.setVersion("2.2.1.0-1000");
+
+ HostVersionEntity badHostVersion = createNiceMock(HostVersionEntity.class);
+ expect(badHostVersion.getRepositoryVersion()).andReturn(badRve);
+ hostVersions.add(badHostVersion);
+ replay(badHostVersion);
+ }
Host host = createNiceMock(hostname, Host.class);
expect(host.getHostName()).andReturn(hostname).anyTimes();
expect(host.getOsFamily()).andReturn("redhat6").anyTimes();
expect(host.getMaintenanceState(EasyMock.anyLong())).andReturn(
MaintenanceState.OFF).anyTimes();
- expect(host.getAllHostVersions()).andReturn(
- Collections.<HostVersionEntity>emptyList()).anyTimes();
+ expect(host.getAllHostVersions()).andReturn(hostVersions).anyTimes();
- replay(host);
+ replay(host, hostVersion);
hostsForCluster.put(hostname, host);
}
@@ -1236,6 +1206,12 @@ public class ClusterStackVersionResourceProviderTest {
}
}).anyTimes();
+ // now the important expectations - that the cluster transition methods were
+ // called correctly
+ expect(cluster.transitionHostsToInstalling(anyObject(RepositoryVersionEntity.class),
+ anyObject(VersionDefinitionXml.class), eq(false))).andReturn(Collections.<Host>emptyList()).anyTimes();
+
+
ExecutionCommand executionCommand = createNiceMock(ExecutionCommand.class);
ExecutionCommandWrapper executionCommandWrapper = createNiceMock(ExecutionCommandWrapper.class);
@@ -1265,29 +1241,17 @@ public class ClusterStackVersionResourceProviderTest {
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterId(1l);
clusterEntity.setClusterName(clusterName);
- ClusterVersionEntity cve = new ClusterVersionEntity(clusterEntity,
- repoVersion, RepositoryVersionState.INSTALL_FAILED, 0, "");
- expect(clusterVersionDAO.findByClusterAndStackAndVersion(anyObject(String.class),
- anyObject(StackId.class), anyObject(String.class))).andReturn(cve);
TopologyManager topologyManager = injector.getInstance(TopologyManager.class);
StageUtils.setTopologyManager(topologyManager);
StageUtils.setConfiguration(injector.getInstance(Configuration.class));
- // !!! make it look like there is already a versioned installed that is less than the one being installed
- ClusterVersionEntity bad = new ClusterVersionEntity();
- RepositoryVersionEntity badRve = new RepositoryVersionEntity();
- badRve.setStack(stack);
- badRve.setVersion("2.2.1.0-1000");
- bad.setRepositoryVersion(badRve);
-
- expect(clusterVersionDAO.findByCluster(anyObject(String.class))).andReturn(Collections.singletonList(bad)).once();
// replay
replay(managementController, response, clusters, resourceProviderFactory, csvResourceProvider,
cluster, repositoryVersionDAOMock, configHelper, schDatanode, schNamenode, schAMS, actionManager,
- executionCommand, executionCommandWrapper,stage, stageFactory, clusterVersionDAO);
+ executionCommand, executionCommandWrapper,stage, stageFactory);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
type,
@@ -1357,6 +1321,10 @@ public class ClusterStackVersionResourceProviderTest {
File f = new File("src/test/resources/hbase_version_test.xml");
+ StackEntity stackEntity = new StackEntity();
+ stackEntity.setStackName(stackId.getStackName());
+ stackEntity.setStackVersion(stackId.getStackVersion());
+
RepositoryVersionEntity repoVersionEntity = new RepositoryVersionEntity();
repoVersionEntity.setId(1l);
repoVersionEntity.setOperatingSystems(OS_JSON);
@@ -1364,6 +1332,7 @@ public class ClusterStackVersionResourceProviderTest {
repoVersionEntity.setVersionXsd("version_definition.xsd");
repoVersionEntity.setType(RepositoryType.STANDARD);
repoVersionEntity.setVersion(repoVersion);
+ repoVersionEntity.setStack(stackEntity);
List<Host> hostsNeedingInstallCommands = new ArrayList<>();
Map<String, Host> hostsForCluster = new HashMap<>();
@@ -1382,6 +1351,7 @@ public class ClusterStackVersionResourceProviderTest {
if (i < hostCount - 2) {
expect(host.hasComponentsAdvertisingVersions(eq(stackId))).andReturn(true).atLeastOnce();
hostsNeedingInstallCommands.add(host);
+ expect(host.getAllHostVersions()).andReturn(Collections.<HostVersionEntity>emptyList()).anyTimes();
} else {
expect(host.hasComponentsAdvertisingVersions(eq(stackId))).andReturn(false).atLeastOnce();
@@ -1392,8 +1362,7 @@ public class ClusterStackVersionResourceProviderTest {
replay(hostVersionEntity);
hostVersionEntitiesMergedWithNotRequired.add(hostVersionEntity);
- expect(host.getAllHostVersions()).andReturn(
- hostVersionEntitiesMergedWithNotRequired).anyTimes();
+ expect(host.getAllHostVersions()).andReturn(hostVersionEntitiesMergedWithNotRequired).anyTimes();
}
replay(host);
@@ -1443,7 +1412,6 @@ public class ClusterStackVersionResourceProviderTest {
String clusterName = "Cluster100";
expect(cluster.getClusterId()).andReturn(1L).anyTimes();
- expect(cluster.getClusterName()).andReturn(clusterName).atLeastOnce();
expect(cluster.getHosts()).andReturn(hostsForCluster.values()).atLeastOnce();
expect(cluster.getServices()).andReturn(serviceMap).anyTimes();
expect(cluster.getServiceComponentHosts(anyObject(String.class))).andReturn(
@@ -1452,34 +1420,21 @@ public class ClusterStackVersionResourceProviderTest {
expect(repositoryVersionDAOMock.findByStackAndVersion(anyObject(StackId.class),
anyObject(String.class))).andReturn(repoVersionEntity);
- expect(clusterVersionDAO.findByCluster(anyObject(String.class))).andReturn(
- Collections.<ClusterVersionEntity> emptyList()).once();
-
ClusterEntity clusterEntity = new ClusterEntity();
clusterEntity.setClusterId(1l);
clusterEntity.setClusterName(clusterName);
- ClusterVersionEntity cve = new ClusterVersionEntity(clusterEntity, repoVersionEntity,
- RepositoryVersionState.INSTALL_FAILED, 0, "");
-
- // first expect back a null to make the code think it needs to create one,
- // then return the real one it's going to use
- expect(clusterVersionDAO.findByClusterAndStackAndVersion(anyObject(String.class),
- anyObject(StackId.class), anyObject(String.class))).andReturn(null).once();
-
- expect(cluster.createClusterVersion(anyObject(StackId.class), eq(repoVersion),
- EasyMock.anyString(), eq(RepositoryVersionState.INSTALLED))).andReturn(cve).once();
// now the important expectations - that the cluster transition methods were
// called correctly
- expect(cluster.transitionHostsToInstalling(cve, repoVersionEntity,
+ expect(cluster.transitionHostsToInstalling(repoVersionEntity,
repoVersionEntity.getRepositoryXml(), true)).andReturn(
hostsNeedingInstallCommands).once();
// replay
replay(managementController, response, clusters, hdfsService, resourceProviderFactory,
csvResourceProvider, cluster, repositoryVersionDAOMock, configHelper, schDatanode,
- stageFactory, clusterVersionDAO, hostVersionDAO);
+ stageFactory, hostVersionDAO);
ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(type,
PropertyHelper.getPropertyIds(type), PropertyHelper.getKeyPropertyIds(type),
@@ -1593,7 +1548,6 @@ public class ClusterStackVersionResourceProviderTest {
bind(ConfigHelper.class).toInstance(configHelper);
bind(Configuration.class).toInstance(configuration);
bind(StageFactory.class).toInstance(stageFactory);
- bind(ClusterVersionDAO.class).toInstance(clusterVersionDAO);
bind(HostVersionDAO.class).toInstance(hostVersionDAO);
bind(HostComponentStateDAO.class).toInstance(hostComponentStateDAO);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CompatibleRepositoryVersionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CompatibleRepositoryVersionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CompatibleRepositoryVersionResourceProviderTest.java
index 528bd40..6a751a9 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CompatibleRepositoryVersionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/CompatibleRepositoryVersionResourceProviderTest.java
@@ -49,7 +49,6 @@ import org.apache.ambari.server.controller.utilities.PredicateBuilder;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
-import org.apache.ambari.server.orm.dao.ClusterVersionDAO;
import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.orm.entities.StackEntity;
@@ -84,7 +83,6 @@ public class CompatibleRepositoryVersionResourceProviderTest {
@Before
public void before() throws Exception {
final AmbariMetaInfo ambariMetaInfo = EasyMock.createMock(AmbariMetaInfo.class);
- final ClusterVersionDAO clusterVersionDAO = EasyMock.createMock(ClusterVersionDAO.class);
StackEntity hdp11Stack = new StackEntity();
hdp11Stack.setStackName("HDP");
@@ -221,7 +219,6 @@ public class CompatibleRepositoryVersionResourceProviderTest {
protected void configure() {
super.configure();
bind(AmbariMetaInfo.class).toInstance(ambariMetaInfo);
- bind(ClusterVersionDAO.class).toInstance(clusterVersionDAO);
bind(RepositoryVersionDAO.class).toInstance(repoVersionDAO);
requestStaticInjection(CompatibleRepositoryVersionResourceProvider.class);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
index d1a4a1a..b075b71 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
@@ -131,8 +131,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(cluster.getClusterId()).andReturn(2L).anyTimes();
expect(cluster.getDesiredConfigs()).andReturn(new HashMap<String, DesiredConfig>()).anyTimes();
- cluster.recalculateAllClusterVersionStates();
- EasyMock.expectLastCall().once();
expect(clusters.getCluster("Cluster100")).andReturn(cluster).atLeastOnce();
expect(clusters.getHost("Host100")).andReturn(null).atLeastOnce();
@@ -908,8 +906,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(clusters.getHost("Host100")).andReturn(host100).anyTimes();
clusters.mapAndPublishHostsToCluster(Collections.singleton("Host100"), "Cluster100");
expectLastCall().anyTimes();
- cluster.recalculateAllClusterVersionStates();
- expectLastCall().anyTimes();
expect(cluster.getClusterId()).andReturn(2L).anyTimes();
expect(cluster.getResourceId()).andReturn(4L).anyTimes();
expect(cluster.getDesiredConfigs()).andReturn(new HashMap<String, DesiredConfig>()).anyTimes();
@@ -1001,8 +997,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(clusters.getHostsForCluster("Cluster100")).andReturn(Collections.singletonMap("Host100", host100)).anyTimes();
clusters.mapAndPublishHostsToCluster(Collections.singleton("Host100"), "Cluster100");
expectLastCall().anyTimes();
- cluster.recalculateAllClusterVersionStates();
- expectLastCall().anyTimes();
expect(cluster.getClusterId()).andReturn(2L).anyTimes();
expect(cluster.getResourceId()).andReturn(4L).anyTimes();
expect(cluster.getDesiredConfigs()).andReturn(new HashMap<String, DesiredConfig>()).anyTimes();
@@ -1081,7 +1075,6 @@ public class HostResourceProviderTest extends EasyMockSupport {
expect(cluster.getDesiredConfigs()).andReturn(new HashMap<String, DesiredConfig>()).anyTimes();
clusters.deleteHost("Host100");
clusters.publishHostsDeletion(Collections.EMPTY_SET, Collections.singleton("Host100"));
- cluster.recalculateAllClusterVersionStates();
expect(host1.getHostName()).andReturn("Host100").anyTimes();
expect(healthStatus.getHealthStatus()).andReturn(HostHealthStatus.HealthStatus.HEALTHY).anyTimes();
expect(healthStatus.getHealthReport()).andReturn("HEALTHY").anyTimes();
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
index 21f9383..2d64287 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProviderTest.java
@@ -19,7 +19,6 @@
package org.apache.ambari.server.controller.internal;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
@@ -40,11 +39,8 @@ import org.apache.ambari.server.controller.utilities.PredicateBuilder;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
-import org.apache.ambari.server.orm.dao.ClusterVersionDAO;
import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
import org.apache.ambari.server.orm.dao.StackDAO;
-import org.apache.ambari.server.orm.entities.ClusterEntity;
-import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.orm.entities.OperatingSystemEntity;
import org.apache.ambari.server.orm.entities.RepositoryEntity;
import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
@@ -54,13 +50,13 @@ import org.apache.ambari.server.security.authorization.AuthorizationException;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.OperatingSystemInfo;
import org.apache.ambari.server.state.RepositoryInfo;
-import org.apache.ambari.server.state.RepositoryVersionState;
import org.apache.ambari.server.state.ServiceInfo;
import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.StackInfo;
import org.apache.ambari.server.state.stack.UpgradePack;
import org.apache.ambari.server.state.stack.upgrade.RepositoryVersionHelper;
import org.junit.After;
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -73,57 +69,28 @@ import com.google.common.collect.Sets;
import com.google.gson.Gson;
import com.google.inject.Guice;
import com.google.inject.Injector;
-
-import junit.framework.Assert;
-
/**
* RepositoryVersionResourceProvider tests.
*/
public class RepositoryVersionResourceProviderTest {
- private ClusterVersionDAO clusterVersionDAO;
-
private static Injector injector;
private static String jsonStringRedhat6 = "[{\"OperatingSystems\":{\"os_type\":\"redhat6\"},\"repositories\":[]}]";
private static String jsonStringRedhat7 = "[{\"OperatingSystems\":{\"os_type\":\"redhat7\"},\"repositories\":[]}]";
- private List<ClusterVersionEntity> getNoClusterVersions() {
- final List<ClusterVersionEntity> emptyList = new ArrayList<>();
- return emptyList;
- }
-
- private List<ClusterVersionEntity> getInstallFailedClusterVersions() {
- ClusterEntity cluster = new ClusterEntity();
- cluster.setClusterName("c1");
- cluster.setClusterId(1L);
-
- final List<ClusterVersionEntity> clusterVersions = new ArrayList<>();
- final RepositoryVersionEntity repositoryVersion = new RepositoryVersionEntity();
- repositoryVersion.setId(1L);
- final ClusterVersionEntity installFailedVersion = new ClusterVersionEntity();
- installFailedVersion.setState(RepositoryVersionState.INSTALL_FAILED);
- installFailedVersion.setRepositoryVersion(repositoryVersion);
- installFailedVersion.setClusterEntity(cluster);
- clusterVersions.add(installFailedVersion);
- cluster.setClusterVersionEntities(clusterVersions);
- return clusterVersions;
- }
-
@Before
public void before() throws Exception {
final Set<String> validVersions = Sets.newHashSet("1.1", "1.1-17", "1.1.1.1", "1.1.343432.2", "1.1.343432.2-234234324");
final Set<StackInfo> stacks = new HashSet<>();
final AmbariMetaInfo ambariMetaInfo = Mockito.mock(AmbariMetaInfo.class);
- clusterVersionDAO = Mockito.mock(ClusterVersionDAO.class);
final InMemoryDefaultTestModule injectorModule = new InMemoryDefaultTestModule() {
@Override
protected void configure() {
super.configure();
bind(AmbariMetaInfo.class).toInstance(ambariMetaInfo);
- bind(ClusterVersionDAO.class).toInstance(clusterVersionDAO);
};
};
injector = Guice.createInjector(injectorModule);
@@ -212,21 +179,6 @@ public class RepositoryVersionResourceProviderTest {
}
});
- Mockito.when(clusterVersionDAO.findByStackAndVersion(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenAnswer(
- new Answer<List<ClusterVersionEntity>>() {
- @Override
- public List<ClusterVersionEntity> answer(InvocationOnMock invocation) throws Throwable {
- final String stack = invocation.getArguments()[0].toString();
- final String version = invocation.getArguments()[1].toString();
-
- if (stack.equals("HDP-1.1") && version.equals("1.1.1.1")) {
- return getNoClusterVersions();
- } else {
- return getInstallFailedClusterVersions();
- }
- }
- });
-
H2DatabaseCleaner.resetSequences(injector);
injector.getInstance(GuiceJpaInitializer.class);
@@ -461,14 +413,6 @@ public class RepositoryVersionResourceProviderTest {
final ResourceProvider provider = injector.getInstance(ResourceProviderFactory.class).getRepositoryVersionResourceProvider();
- Mockito.when(clusterVersionDAO.findByStackAndVersion(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenAnswer(
- new Answer<List<ClusterVersionEntity>>() {
- @Override
- public List<ClusterVersionEntity> answer(InvocationOnMock invocation) throws Throwable {
- return getNoClusterVersions();
- }
- });
-
final Set<Map<String, Object>> propertySet = new LinkedHashSet<>();
final Map<String, Object> properties = new LinkedHashMap<>();
properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, "name");
@@ -521,14 +465,6 @@ public class RepositoryVersionResourceProviderTest {
properties.put(RepositoryVersionResourceProvider.SUBRESOURCE_OPERATING_SYSTEMS_PROPERTY_ID, new Gson().fromJson("[{\"OperatingSystems/os_type\":\"redhat6\",\"repositories\":[{\"Repositories/repo_id\":\"2\",\"Repositories/repo_name\":\"2\",\"Repositories/base_url\":\"2\",\"Repositories/unique\":\"true\"}]}]", Object.class));
provider.updateResources(updateRequest, new AndPredicate(predicateStackName, predicateStackVersion));
- // Now, insert a cluster version whose state is INSTALL_FAILED, so the operation will not be permitted.
- Mockito.when(clusterVersionDAO.findByStackAndVersion(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenAnswer(
- new Answer<List<ClusterVersionEntity>>() {
- @Override
- public List<ClusterVersionEntity> answer(InvocationOnMock invocation) throws Throwable {
- return getInstallFailedClusterVersions();
- }
- });
try {
provider.updateResources(updateRequest, new AndPredicate(predicateStackName, predicateStackVersion));
@@ -545,14 +481,6 @@ public class RepositoryVersionResourceProviderTest {
final ResourceProvider provider = injector.getInstance(ResourceProviderFactory.class).getRepositoryVersionResourceProvider();
- Mockito.when(clusterVersionDAO.findByStackAndVersion(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenAnswer(
- new Answer<List<ClusterVersionEntity>>() {
- @Override
- public List<ClusterVersionEntity> answer(InvocationOnMock invocation) throws Throwable {
- return getNoClusterVersions();
- }
- });
-
final Set<Map<String, Object>> propertySet = new LinkedHashSet<>();
final Map<String, Object> properties = new LinkedHashMap<>();
properties.put(RepositoryVersionResourceProvider.REPOSITORY_VERSION_DISPLAY_NAME_PROPERTY_ID, "name");
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java
index 91b00ab..c82c884 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java
@@ -63,7 +63,6 @@ import org.apache.ambari.server.controller.utilities.PredicateBuilder;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.metadata.RoleCommandOrder;
import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
-import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.security.TestAuthenticationFactory;
import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -115,20 +114,14 @@ public class ServiceResourceProviderTest {
Clusters clusters = createNiceMock(Clusters.class);
Cluster cluster = createNiceMock(Cluster.class);
Service service = createNiceMock(Service.class);
- StackId stackId = createNiceMock(StackId.class);
+ StackId stackId = new StackId("HDP-2.5");
ServiceFactory serviceFactory = createNiceMock(ServiceFactory.class);
AmbariMetaInfo ambariMetaInfo = createNiceMock(AmbariMetaInfo.class);
ServiceInfo serviceInfo = createNiceMock(ServiceInfo.class);
- ClusterVersionEntity clusterVersion = createNiceMock(ClusterVersionEntity.class);
- RepositoryVersionEntity repositoryVersion = createNiceMock(RepositoryVersionEntity.class);
- expect(clusterVersion.getRepositoryVersion()).andReturn(repositoryVersion).atLeastOnce();
-
expect(managementController.getClusters()).andReturn(clusters).anyTimes();
expect(managementController.getAmbariMetaInfo()).andReturn(ambariMetaInfo).anyTimes();
- expect(cluster.getCurrentClusterVersion()).andReturn(clusterVersion).atLeastOnce();
-
expect(cluster.addService(eq("Service100"),
EasyMock.anyObject(RepositoryVersionEntity.class))).andReturn(service);
@@ -138,19 +131,16 @@ public class ServiceResourceProviderTest {
expect(cluster.getDesiredStackVersion()).andReturn(stackId).anyTimes();
expect(cluster.getClusterId()).andReturn(2L).anyTimes();
- expect(stackId.getStackName()).andReturn("HDP").anyTimes();
- expect(stackId.getStackVersion()).andReturn("2.5").anyTimes();
-
expect(ambariMetaInfo.isValidService( (String) anyObject(), (String) anyObject(), (String) anyObject())).andReturn(true);
expect(ambariMetaInfo.getService((String)anyObject(), (String)anyObject(), (String)anyObject())).andReturn(serviceInfo).anyTimes();
// replay
- replay(managementController, clusters, cluster, clusterVersion, repositoryVersion, service,
- ambariMetaInfo, stackId, serviceFactory, serviceInfo);
+ replay(managementController, clusters, cluster, service,
+ ambariMetaInfo, serviceFactory, serviceInfo);
SecurityContextHolder.getContext().setAuthentication(authentication);
- ResourceProvider provider = getServiceProvider(managementController);
+ ResourceProvider provider = getServiceProvider(managementController, true);
// add the property map to a set for the request. add more maps for multiple creates
Set<Map<String, Object>> propertySet = new LinkedHashSet<>();
@@ -171,8 +161,8 @@ public class ServiceResourceProviderTest {
provider.createResources(request);
// verify
- verify(managementController, clusters, cluster, clusterVersion, repositoryVersion, service,
- ambariMetaInfo, stackId, serviceFactory, serviceInfo);
+ verify(managementController, clusters, cluster, service,
+ ambariMetaInfo, serviceFactory, serviceInfo);
}
@Test
@@ -1157,20 +1147,31 @@ public class ServiceResourceProviderTest {
}
}
- /**
- * This factory method creates default MaintenanceStateHelper mock.
- * It's useful in most cases (when we don't care about Maintenance State)
- */
- public static ServiceResourceProvider getServiceProvider(AmbariManagementController managementController) throws AmbariException {
+ private static ServiceResourceProvider getServiceProvider(AmbariManagementController managementController, boolean mockFindByStack) throws AmbariException {
MaintenanceStateHelper maintenanceStateHelperMock = createNiceMock(MaintenanceStateHelper.class);
RepositoryVersionDAO repositoryVersionDAO = createNiceMock(RepositoryVersionDAO.class);
expect(maintenanceStateHelperMock.isOperationAllowed(anyObject(Resource.Type.class), anyObject(Service.class))).andReturn(true).anyTimes();
expect(maintenanceStateHelperMock.isOperationAllowed(anyObject(Resource.Type.class), anyObject(ServiceComponentHost.class))).andReturn(true).anyTimes();
+
+ if (mockFindByStack) {
+ RepositoryVersionEntity repositoryVersion = createNiceMock(RepositoryVersionEntity.class);
+ expect(repositoryVersionDAO.findByStack(EasyMock.anyObject(StackId.class))).andReturn(
+ Collections.singletonList(repositoryVersion)).atLeastOnce();
+ }
+
replay(maintenanceStateHelperMock, repositoryVersionDAO);
return getServiceProvider(managementController, maintenanceStateHelperMock, repositoryVersionDAO);
}
/**
+ * This factory method creates default MaintenanceStateHelper mock.
+ * It's useful in most cases (when we don't care about Maintenance State)
+ */
+ public static ServiceResourceProvider getServiceProvider(AmbariManagementController managementController) throws AmbariException {
+ return getServiceProvider(managementController, false);
+ }
+
+ /**
* This factory method allows to define custom MaintenanceStateHelper mock.
*/
public static ServiceResourceProvider getServiceProvider(
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDefinedPropertyProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDefinedPropertyProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDefinedPropertyProviderTest.java
index 74cf0bf..4d44576 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDefinedPropertyProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackDefinedPropertyProviderTest.java
@@ -62,7 +62,6 @@ import org.apache.ambari.server.security.authorization.AuthorizationException;
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.StackId;
import org.apache.ambari.server.state.services.MetricsRetrievalService;
import org.apache.ambari.server.state.stack.Metric;
@@ -138,8 +137,6 @@ public class StackDefinedPropertyProviderTest {
cluster.setDesiredStackVersion(stackId);
helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
- cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin",
- RepositoryVersionState.INSTALLING);
clusters.addHost("h1");
Host host = clusters.getHost("h1");
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderHDP22Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderHDP22Test.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderHDP22Test.java
deleted file mode 100644
index 30e5c4c..0000000
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderHDP22Test.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ambari.server.controller.internal;
-
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import java.lang.reflect.Field;
-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 org.apache.ambari.server.AmbariException;
-import org.apache.ambari.server.H2DatabaseCleaner;
-import org.apache.ambari.server.actionmanager.ActionManager;
-import org.apache.ambari.server.actionmanager.ExecutionCommandWrapper;
-import org.apache.ambari.server.actionmanager.ExecutionCommandWrapperFactory;
-import org.apache.ambari.server.agent.ExecutionCommand;
-import org.apache.ambari.server.agent.ExecutionCommand.KeyNames;
-import org.apache.ambari.server.configuration.Configuration;
-import org.apache.ambari.server.controller.AmbariManagementController;
-import org.apache.ambari.server.controller.AmbariServer;
-import org.apache.ambari.server.controller.spi.Request;
-import org.apache.ambari.server.controller.spi.ResourceProvider;
-import org.apache.ambari.server.controller.utilities.PropertyHelper;
-import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
-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.ExecutionCommandDAO;
-import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
-import org.apache.ambari.server.orm.dao.StackDAO;
-import org.apache.ambari.server.orm.dao.UpgradeDAO;
-import org.apache.ambari.server.orm.entities.ExecutionCommandEntity;
-import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
-import org.apache.ambari.server.orm.entities.StackEntity;
-import org.apache.ambari.server.orm.entities.UpgradeEntity;
-import org.apache.ambari.server.orm.entities.UpgradeGroupEntity;
-import org.apache.ambari.server.orm.entities.UpgradeItemEntity;
-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.apache.ambari.server.state.ConfigFactory;
-import org.apache.ambari.server.state.Host;
-import org.apache.ambari.server.state.HostState;
-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.ServiceComponentHost;
-import org.apache.ambari.server.state.StackId;
-import org.apache.ambari.server.state.stack.upgrade.Direction;
-import org.apache.ambari.server.topology.TopologyManager;
-import org.apache.ambari.server.utils.StageUtils;
-import org.apache.ambari.server.view.ViewRegistry;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.springframework.security.core.context.SecurityContextHolder;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.gson.Gson;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-/**
- * UpgradeResourceDefinition tests.
- */
-public class UpgradeResourceProviderHDP22Test {
-
- private UpgradeDAO upgradeDao = null;
- private RepositoryVersionDAO repoVersionDao = null;
- private Injector injector;
- private Clusters clusters;
- private OrmTestHelper helper;
- private AmbariManagementController amc;
- private StackDAO stackDAO;
- private TopologyManager topologyManager;
- private ConfigFactory configFactory;
-
- private static final String configTagVersion1 = "version1";
- private static final String configTagVersion2 = "version2";
-
- private static final Map<String, String> configTagVersion1Properties = new ImmutableMap.Builder<String, String>().put(
- "hive.server2.thrift.port", "10000").build();
-
- private static final Map<String, String> configTagVersion2Properties = new ImmutableMap.Builder<String, String>().put(
- "hive.server2.thrift.port", "10010").build();
-
- @Before
- public void before() throws Exception {
- SecurityContextHolder.getContext().setAuthentication(
- TestAuthenticationFactory.createAdministrator());
-
- // create an injector which will inject the mocks
- injector = Guice.createInjector(new InMemoryDefaultTestModule());
-
- injector.getInstance(GuiceJpaInitializer.class);
-
- helper = injector.getInstance(OrmTestHelper.class);
-
- amc = injector.getInstance(AmbariManagementController.class);
-
- Field field = AmbariServer.class.getDeclaredField("clusterController");
- field.setAccessible(true);
- field.set(null, amc);
-
- stackDAO = injector.getInstance(StackDAO.class);
- upgradeDao = injector.getInstance(UpgradeDAO.class);
- repoVersionDao = injector.getInstance(RepositoryVersionDAO.class);
- configFactory = injector.getInstance(ConfigFactory.class);
-
- AmbariEventPublisher publisher = createNiceMock(AmbariEventPublisher.class);
- replay(publisher);
- ViewRegistry.initInstance(new ViewRegistry(publisher));
-
- StackEntity stackEntity = stackDAO.find("HDP", "2.2.0");
-
- RepositoryVersionEntity repoVersionEntity = new RepositoryVersionEntity();
- repoVersionEntity.setDisplayName("For Stack Version 2.2.0");
- repoVersionEntity.setOperatingSystems("");
- repoVersionEntity.setStack(stackEntity);
- repoVersionEntity.setVersion("2.2.0.0");
- repoVersionDao.create(repoVersionEntity);
-
- repoVersionEntity = new RepositoryVersionEntity();
- repoVersionEntity.setDisplayName("For Stack Version 2.2.4.2");
- repoVersionEntity.setOperatingSystems("");
- repoVersionEntity.setStack(stackEntity);
- repoVersionEntity.setVersion("2.2.4.2");
- repoVersionDao.create(repoVersionEntity);
-
- clusters = injector.getInstance(Clusters.class);
-
- StackId stackId = new StackId("HDP-2.2.0");
- clusters.addCluster("c1", stackId);
- Cluster cluster = clusters.getCluster("c1");
-
- RepositoryVersionEntity repositoryVersion = helper.getOrCreateRepositoryVersion(stackId,
- stackId.getStackVersion());
-
- cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING);
- cluster.transitionClusterVersion(stackId, stackId.getStackVersion(), RepositoryVersionState.CURRENT);
-
- clusters.addHost("h1");
- Host host = clusters.getHost("h1");
- Map<String, String> hostAttributes = new HashMap<>();
- hostAttributes.put("os_family", "redhat");
- hostAttributes.put("os_release_version", "6.3");
- host.setHostAttributes(hostAttributes);
- host.setState(HostState.HEALTHY);
-
- clusters.mapHostToCluster("h1", "c1");
-
- // add a single HIVE server
- Service service = cluster.addService("HIVE", repositoryVersion);
-
- ServiceComponent component = service.addServiceComponent("HIVE_SERVER");
- ServiceComponentHost sch = component.addServiceComponentHost("h1");
- sch.setVersion("2.2.0.0");
-
- component = service.addServiceComponent("HIVE_CLIENT");
- sch = component.addServiceComponentHost("h1");
- sch.setVersion("2.2.0.0");
- topologyManager = injector.getInstance(TopologyManager.class);
- StageUtils.setTopologyManager(topologyManager);
- StageUtils.setConfiguration(injector.getInstance(Configuration.class));
- ActionManager.setTopologyManager(topologyManager);
- }
-
- @After
- public void after() throws AmbariException, SQLException {
- H2DatabaseCleaner.clearDatabaseAndStopPersistenceService(injector);
- injector = null;
- }
-
- /**
- * Tests upgrades from HDP-2.2.x to HDP-2.2.y
- *
- * @throws Exception
- */
- @SuppressWarnings("serial")
- @Test
- public void testCreateIntraStackUpgrade() throws Exception {
- // We want to use the HDP-2.2 'upgrade_test' catalog
- // Create HDP-2.2 stack
-
- Cluster cluster = clusters.getCluster("c1");
- StackId oldStack = cluster.getDesiredStackVersion();
-
- for (Service s : cluster.getServices().values()) {
- assertEquals(oldStack, s.getDesiredStackId());
-
- for (ServiceComponent sc : s.getServiceComponents().values()) {
- assertEquals(oldStack, sc.getDesiredStackId());
-
- for (ServiceComponentHost sch : sc.getServiceComponentHosts().values()) {
- assertEquals("2.2.0.0", sch.getVersion());
- }
- }
- }
-
- Config config = configFactory.createNew(cluster, "hive-site", configTagVersion1, configTagVersion1Properties, null);
- cluster.addDesiredConfig("admin", Collections.singleton(config));
-
- Map<String, Object> requestProps = new HashMap<>();
- requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1");
- requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.4.2");
- requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true");
- requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name());
-
- ResourceProvider upgradeResourceProvider = createProvider(amc);
-
- Request request = PropertyHelper.getCreateRequest(Collections.singleton(requestProps), null);
- upgradeResourceProvider.createResources(request);
-
- List<UpgradeEntity> upgrades = upgradeDao.findUpgrades(cluster.getClusterId());
- assertEquals(1, upgrades.size());
-
- UpgradeEntity upgrade = upgrades.get(0);
- assertEquals("upgrade_test", upgrade.getUpgradePackage());
- assertEquals(3, upgrade.getUpgradeGroups().size());
-
- UpgradeGroupEntity group = upgrade.getUpgradeGroups().get(2);
- assertEquals(3, group.getItems().size());
-
- group = upgrade.getUpgradeGroups().get(0);
- assertEquals(2, group.getItems().size());
- UpgradeItemEntity item = group.getItems().get(1);
- assertEquals("Value is set for the source stack upgrade pack", "[{\"message\":\"Goo\"}]", item.getText());
-
- assertTrue(cluster.getDesiredConfigs().containsKey("hive-site"));
-
- StackId newStack = cluster.getDesiredStackVersion();
-
- assertTrue(oldStack.equals(newStack));
-
- for (Service s : cluster.getServices().values()) {
- assertEquals(newStack, s.getDesiredStackId());
-
- for (ServiceComponent sc : s.getServiceComponents().values()) {
- assertEquals(newStack, sc.getDesiredStackId());
- }
- }
-
- // Hive service checks have generated the ExecutionCommands by now.
- // Change the new desired config tag and verify execution command picks up new tag
- assertEquals(configTagVersion1, cluster.getDesiredConfigByType("hive-site").getTag());
- final Config newConfig = configFactory.createNew(cluster, "hive-site", configTagVersion2, configTagVersion2Properties, null);
- Set<Config> desiredConfigs = new HashSet<Config>() {
- {
- add(newConfig);
- }
- };
-
- cluster.addConfig(newConfig);
- cluster.addDesiredConfig("admin", desiredConfigs);
- assertEquals(configTagVersion2, cluster.getDesiredConfigByType("hive-site").getTag());
- Gson gson = new Gson();
-
- List<ExecutionCommandEntity> currentExecutionCommands = injector.getInstance(ExecutionCommandDAO.class).findAll();
- for (ExecutionCommandEntity ece : currentExecutionCommands) {
- String executionCommandJson = new String(ece.getCommand());
- Map<String, Object> commandMap = gson.<Map<String, Object>> fromJson(executionCommandJson, Map.class);
-
- // ensure that the latest tag is being used - this is absolutely required
- // for upgrades
- Set<String> roleCommandsThatMustHaveRefresh = new HashSet<>();
- roleCommandsThatMustHaveRefresh.add("SERVICE_CHECK");
- roleCommandsThatMustHaveRefresh.add("RESTART");
- roleCommandsThatMustHaveRefresh.add("ACTIONEXECUTE");
-
- String roleCommand = (String) commandMap.get("roleCommand");
- if (roleCommandsThatMustHaveRefresh.contains(roleCommand)) {
- assertTrue(commandMap.containsKey(KeyNames.REFRESH_CONFIG_TAGS_BEFORE_EXECUTION));
- Object object = commandMap.get(KeyNames.REFRESH_CONFIG_TAGS_BEFORE_EXECUTION);
- assertTrue(Boolean.valueOf(object.toString()));
-
- ExecutionCommandWrapperFactory ecwFactory = injector.getInstance(ExecutionCommandWrapperFactory.class);
- ExecutionCommandWrapper executionCommandWrapper = ecwFactory.createFromJson(executionCommandJson);
- ExecutionCommand executionCommand = executionCommandWrapper.getExecutionCommand();
- Map<String, Map<String, String>> configurationTags = executionCommand.getConfigurationTags();
- assertEquals(configTagVersion2, configurationTags.get("hive-site").get("tag"));
- Map<String, Map<String, String>> configurations = executionCommand.getConfigurations();
- assertEquals("10010", configurations.get("hive-site").get("hive.server2.thrift.port"));
- }
- }
- }
-
- /**
- * @param amc
- * @return the provider
- */
- private UpgradeResourceProvider createProvider(AmbariManagementController amc) {
- return new UpgradeResourceProvider(amc);
- }
-}
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
index d30d9e0..576f308 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java
@@ -90,7 +90,6 @@ import org.apache.ambari.server.state.ConfigHelper;
import org.apache.ambari.server.state.DesiredConfig;
import org.apache.ambari.server.state.Host;
import org.apache.ambari.server.state.HostState;
-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.ServiceComponentHost;
@@ -236,9 +235,6 @@ public class UpgradeResourceProviderTest {
helper.getOrCreateRepositoryVersion(stack211, stack211.getStackVersion());
helper.getOrCreateRepositoryVersion(stack220, stack220.getStackVersion());
- cluster.createClusterVersion(stack211, stack211.getStackVersion(), "admin", RepositoryVersionState.INSTALLING);
- cluster.transitionClusterVersion(stack211, stack211.getStackVersion(), RepositoryVersionState.CURRENT);
-
clusters.addHost("h1");
Host host = clusters.getHost("h1");
Map<String, String> hostAttributes = new HashMap<>();
@@ -937,6 +933,7 @@ public class UpgradeResourceProviderTest {
Cluster cluster = clusters.getCluster("c1");
StackEntity stackEntity = stackDAO.find("HDP", "2.1.1");
+
RepositoryVersionEntity repoVersionEntity = new RepositoryVersionEntity();
repoVersionEntity.setDisplayName("My New Version 3");
repoVersionEntity.setOperatingSystems("");
@@ -1173,7 +1170,7 @@ public class UpgradeResourceProviderTest {
desiredConfigurations.put("baz-site", null);
Cluster cluster = EasyMock.createNiceMock(Cluster.class);
- expect(cluster.getCurrentStackVersion()).andReturn(stack211);
+ expect(cluster.getCurrentStackVersion()).andReturn(stack211).atLeastOnce();
expect(cluster.getDesiredStackVersion()).andReturn(stack220);
expect(cluster.getDesiredConfigs()).andReturn(desiredConfigurations);
expect(cluster.getDesiredConfigByType("foo-site")).andReturn(fooConfig);
@@ -1209,6 +1206,7 @@ public class UpgradeResourceProviderTest {
UpgradeContext upgradeContext = upgradeContextFactory.create(cluster, upgrade.getType(),
Direction.UPGRADE, "2.2.0.0", new HashMap<String, Object>());
+ upgradeContext.setUpgradePack(upgrade);
upgradeResourceProvider.applyStackAndProcessConfigurations(upgradeContext);
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProviderTest.java
index 094706e..f4ac0b1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeSummaryResourceProviderTest.java
@@ -69,7 +69,6 @@ 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.HostState;
-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.ServiceComponentHost;
@@ -165,7 +164,6 @@ public class UpgradeSummaryResourceProviderTest {
Cluster cluster = clusters.getCluster("c1");
helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
- cluster.createClusterVersion(stackId, stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING);
clusters.addHost("h1");
Host host = clusters.getHost("h1");
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/events/EventsTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/events/EventsTest.java b/ambari-server/src/test/java/org/apache/ambari/server/events/EventsTest.java
index 9907153..710e4e7 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/events/EventsTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/events/EventsTest.java
@@ -39,7 +39,6 @@ import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Host;
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.Service;
import org.apache.ambari.server.state.ServiceComponent;
import org.apache.ambari.server.state.ServiceComponentFactory;
@@ -123,8 +122,6 @@ public class EventsTest {
m_cluster.setDesiredStackVersion(stackId);
m_repositoryVersion = m_helper.getOrCreateRepositoryVersion(stackId, REPO_VERSION);
- m_cluster.createClusterVersion(stackId, REPO_VERSION, "admin",
- RepositoryVersionState.INSTALLING);
m_clusters.mapHostToCluster(HOSTNAME, m_clusterName);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
index 6184d6d..4ca2070 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertEquals;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -42,7 +41,6 @@ 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.HostVersionDAO;
-import org.apache.ambari.server.orm.entities.ClusterVersionEntity;
import org.apache.ambari.server.orm.entities.HostVersionEntity;
import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
@@ -106,8 +104,6 @@ public class HostVersionOutOfSyncListenerTest {
addHost("h1");
helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
- c1.createClusterVersion(stackId, stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING);
- c1.transitionClusterVersion(stackId, stackId.getStackVersion(), RepositoryVersionState.CURRENT);
clusters.mapHostToCluster("h1", "c1");
}
@@ -137,13 +133,10 @@ public class HostVersionOutOfSyncListenerTest {
RepositoryVersionEntity repositoryVersionEntity = helper.getOrCreateRepositoryVersion(stackId,
INSTALLED_VERSION);
- c1.createClusterVersion(stackId, INSTALLED_VERSION, "admin", RepositoryVersionState.INSTALLING);
c1.setCurrentStackVersion(stackId);
- c1.recalculateAllClusterVersionStates();
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION,
- RepositoryVersionState.INSTALLING);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.INSTALLING);
- assertRepoVersionState(stackId.getStackId(), CURRENT_VERSION, RepositoryVersionState.CURRENT);
+ assertRepoVersionState(CURRENT_VERSION, RepositoryVersionState.CURRENT);
// Add ZK service with only ZOOKEEPER_SERVER
List<String> hostList = new ArrayList<>();
@@ -160,10 +153,8 @@ public class HostVersionOutOfSyncListenerTest {
helper.createHostVersion("h2", repositoryVersionEntity, RepositoryVersionState.INSTALLED);
helper.createHostVersion("h3", repositoryVersionEntity, RepositoryVersionState.INSTALLED);
- c1.recalculateAllClusterVersionStates();
-
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION, RepositoryVersionState.INSTALLED);
- assertRepoVersionState(stackId.getStackId(), CURRENT_VERSION, RepositoryVersionState.CURRENT);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.INSTALLED);
+ assertRepoVersionState(CURRENT_VERSION, RepositoryVersionState.CURRENT);
// Add new host and verify that it has all host versions present
List<HostVersionEntity> h2Versions = hostVersionDAO.findAll();
@@ -190,9 +181,7 @@ public class HostVersionOutOfSyncListenerTest {
RepositoryVersionEntity repositoryVersionEntity = helper.getOrCreateRepositoryVersion(stackId,
INSTALLED_VERSION);
helper.createHostVersion("h1", repositoryVersionEntity, RepositoryVersionState.INSTALLED);
- c1.recalculateAllClusterVersionStates();
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION,
- RepositoryVersionState.INSTALLED);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.INSTALLED);
// Add new host and verify that it has all host versions present
List<HostVersionEntity> h2Versions = hostVersionDAO.findAll();
@@ -225,9 +214,9 @@ public class HostVersionOutOfSyncListenerTest {
// register the new repo
addRepoVersion(INSTALLED_VERSION_2, yaStackId);
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION,RepositoryVersionState.INSTALLED);
- assertRepoVersionState(yaStackId.getStackId(), INSTALLED_VERSION_2,RepositoryVersionState.INSTALLED);
- assertRepoVersionState(yaStackId.getStackId(), CURRENT_VERSION, RepositoryVersionState.CURRENT);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.INSTALLED);
+ assertRepoVersionState(INSTALLED_VERSION_2, RepositoryVersionState.INSTALLED);
+ assertRepoVersionState(CURRENT_VERSION, RepositoryVersionState.CURRENT);
//Add HDFS service
List<String> hostList = new ArrayList<>();
@@ -260,9 +249,9 @@ public class HostVersionOutOfSyncListenerTest {
}
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION,RepositoryVersionState.OUT_OF_SYNC);
- assertRepoVersionState(yaStackId.getStackId(), INSTALLED_VERSION_2,RepositoryVersionState.OUT_OF_SYNC);
- assertRepoVersionState(yaStackId.getStackId(), CURRENT_VERSION, RepositoryVersionState.CURRENT);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.OUT_OF_SYNC);
+ assertRepoVersionState(INSTALLED_VERSION_2, RepositoryVersionState.OUT_OF_SYNC);
+ assertRepoVersionState(CURRENT_VERSION, RepositoryVersionState.CURRENT);
}
@@ -298,8 +287,7 @@ public class HostVersionOutOfSyncListenerTest {
List<HostVersionEntity> hostVersions = hostVersionDAO.findAll();
// Host version should not transition to OUT_OF_SYNC state
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION,
- RepositoryVersionState.INSTALLED);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.INSTALLED);
for (HostVersionEntity hostVersionEntity : hostVersions) {
if (hostVersionEntity.getRepositoryVersion().getVersion().equals(INSTALLED_VERSION)) {
assertEquals(hostVersionEntity.getState(), RepositoryVersionState.INSTALLED);
@@ -322,8 +310,8 @@ public class HostVersionOutOfSyncListenerTest {
createClusterAndHosts(INSTALLED_VERSION, stackId);
addRepoVersion(INSTALLED_VERSION_2, yaStackId);
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION, RepositoryVersionState.INSTALLED);
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION_2, RepositoryVersionState.INSTALLED);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.INSTALLED);
+ assertRepoVersionState(INSTALLED_VERSION_2, RepositoryVersionState.INSTALLED);
//Add ZOOKEEPER_CLIENT component
List<String> hostList = new ArrayList<>();
@@ -338,7 +326,7 @@ public class HostVersionOutOfSyncListenerTest {
changedHosts.add("h2");
changedHosts.add("h3");
- assertRepoVersionState(stackId.getStackId(), INSTALLED_VERSION,RepositoryVersionState.OUT_OF_SYNC);
+ assertRepoVersionState(INSTALLED_VERSION, RepositoryVersionState.OUT_OF_SYNC);
List<HostVersionEntity> hostVersions = hostVersionDAO.findAll();
@@ -369,18 +357,17 @@ public class HostVersionOutOfSyncListenerTest {
StackId stackId = new StackId(this.stackId);
RepositoryVersionEntity repositoryVersionEntity = helper.getOrCreateRepositoryVersion(stackId,"2.2.0-1000");
RepositoryVersionEntity repositoryVersionEntity2 = helper.getOrCreateRepositoryVersion(stackId,"2.2.0-2000");
- c1.createClusterVersion(stackId, "2.2.0-1000", "admin", RepositoryVersionState.INSTALLING);
c1.setCurrentStackVersion(stackId);
- c1.recalculateAllClusterVersionStates();
- assertRepoVersionState(stackId.getStackId(), "2.2.0-1000", RepositoryVersionState.INSTALLING);
- assertRepoVersionState(stackId.getStackId(), "2.2.0-2086", RepositoryVersionState.CURRENT);
+
+ assertRepoVersionState("2.2.0-1000", RepositoryVersionState.INSTALLING);
+ assertRepoVersionState("2.2.0-2086", RepositoryVersionState.CURRENT);
helper.createHostVersion("h1", repositoryVersionEntity, RepositoryVersionState.INSTALLED);
helper.createHostVersion("h1", repositoryVersionEntity2, RepositoryVersionState.INSTALLED);
- c1.recalculateAllClusterVersionStates();
- assertRepoVersionState(stackId.getStackId(), "2.2.0-1000", RepositoryVersionState.INSTALLED);
- assertRepoVersionState(stackId.getStackId(), "2.2.0-2000", RepositoryVersionState.INSTALLED);
- assertRepoVersionState(stackId.getStackId(), "2.2.0-2086", RepositoryVersionState.CURRENT);
+
+ assertRepoVersionState("2.2.0-1000", RepositoryVersionState.INSTALLED);
+ assertRepoVersionState("2.2.0-2000", RepositoryVersionState.INSTALLED);
+ assertRepoVersionState("2.2.0-2086", RepositoryVersionState.CURRENT);
// Add new host and verify that it has all host versions present
addHost("h2");
@@ -412,12 +399,10 @@ public class HostVersionOutOfSyncListenerTest {
RepositoryVersionEntity repositoryVersionEntity = helper.getOrCreateRepositoryVersion(stackId,
"2.2.9-9999");
- c1.createClusterVersion(stackId, "2.2.9-9999", "admin", RepositoryVersionState.INSTALLING);
c1.setCurrentStackVersion(stackId);
- c1.recalculateAllClusterVersionStates();
- assertRepoVersionState(stackId.getStackId(), "2.2.0", RepositoryVersionState.CURRENT);
- assertRepoVersionState(stackId.getStackId(), "2.2.9-9999", RepositoryVersionState.INSTALLING);
+ assertRepoVersionState("2.2.0", RepositoryVersionState.CURRENT);
+ assertRepoVersionState("2.2.9-9999", RepositoryVersionState.INSTALLING);
HostVersionEntity hv1 = helper.createHostVersion("h1", repositoryVersionEntity,
RepositoryVersionState.INSTALLED);
@@ -425,9 +410,8 @@ public class HostVersionOutOfSyncListenerTest {
RepositoryVersionState.INSTALLED);
// do an initial calculate to make sure the new repo is installing
- c1.recalculateAllClusterVersionStates();
- assertRepoVersionState(stackId.getStackId(), "2.2.0", RepositoryVersionState.CURRENT);
- assertRepoVersionState(stackId.getStackId(), "2.2.9-9999", RepositoryVersionState.INSTALLED);
+ assertRepoVersionState("2.2.0", RepositoryVersionState.CURRENT);
+ assertRepoVersionState("2.2.9-9999", RepositoryVersionState.INSTALLED);
// make it seems like we upgraded, but 1 host still hasn't finished
hv1.setState(RepositoryVersionState.INSTALLED);
@@ -436,9 +420,8 @@ public class HostVersionOutOfSyncListenerTest {
hostVersionDAO.merge(hv2);
// recalculate and ensure that the cluster is UPGRADING
- c1.recalculateAllClusterVersionStates();
- assertRepoVersionState(stackId.getStackId(), "2.2.0", RepositoryVersionState.CURRENT);
- assertRepoVersionState(stackId.getStackId(), "2.2.9-9999", RepositoryVersionState.INSTALLING);
+ assertRepoVersionState("2.2.0", RepositoryVersionState.CURRENT);
+ assertRepoVersionState("2.2.9-9999", RepositoryVersionState.INSTALLING);
// delete the host that was UPGRADING, and DON'T call recalculate; let the
// event handle it
@@ -446,8 +429,8 @@ public class HostVersionOutOfSyncListenerTest {
clusters.deleteHost("h2");
clusters.publishHostsDeletion(Collections.singleton(c1), Collections.singleton("h2"));
injector.getInstance(UnitOfWork.class).end();
- assertRepoVersionState(stackId.getStackId(), "2.2.0", RepositoryVersionState.CURRENT);
- assertRepoVersionState(stackId.getStackId(), "2.2.9-9999", RepositoryVersionState.INSTALLED);
+ assertRepoVersionState("2.2.0", RepositoryVersionState.CURRENT);
+ assertRepoVersionState("2.2.9-9999", RepositoryVersionState.INSTALLED);
}
@Test
@@ -469,7 +452,7 @@ public class HostVersionOutOfSyncListenerTest {
// create repo version
RepositoryVersionEntity repo = helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
- c1.createClusterVersion(stackId, stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING);
+
clusters.mapHostToCluster(host1, clusterName);
clusters.mapHostToCluster(host2, clusterName);
clusters.mapHostToCluster(host3, clusterName);
@@ -603,15 +586,15 @@ public class HostVersionOutOfSyncListenerTest {
}
}
- private void assertRepoVersionState(String stack, String version, RepositoryVersionState state) {
- StackId stackId = new StackId(stack);
- Collection<ClusterVersionEntity> allClusterVersions = c1.getAllClusterVersions();
- for (ClusterVersionEntity entity : allClusterVersions) {
- StackId clusterVersionStackId = new StackId(entity.getRepositoryVersion().getStack());
- if (clusterVersionStackId.equals(stackId)
- && entity.getRepositoryVersion().getVersion().equals(version)) {
- assertEquals(state, entity.getState());
+ private void assertRepoVersionState(String version, RepositoryVersionState state) {
+
+ for (Host host : c1.getHosts()) {
+ for (HostVersionEntity hostVersionEntity : host.getAllHostVersions()) {
+ if (hostVersionEntity.getRepositoryVersion().getVersion().equals("version")) {
+ assertEquals(state, hostVersionEntity.getState());
+ }
}
}
+
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java
index d5b2d46..a74a1d2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java
@@ -140,8 +140,6 @@ public class StackVersionListenerTest extends EasyMockSupport {
sch.setVersion(VALID_NEW_VERSION);
expectLastCall().once();
expect(sch.recalculateHostVersionState()).andReturn(DUMMY_REPOSITORY_VERSION_ENTITY).once();
- cluster.recalculateClusterVersionState(DUMMY_REPOSITORY_VERSION_ENTITY);
- expectLastCall().once();
replayAll();
@@ -155,8 +153,6 @@ public class StackVersionListenerTest extends EasyMockSupport {
sch.setVersion(VALID_NEW_VERSION);
expectLastCall().once();
expect(sch.recalculateHostVersionState()).andReturn(DUMMY_REPOSITORY_VERSION_ENTITY).once();
- cluster.recalculateClusterVersionState(DUMMY_REPOSITORY_VERSION_ENTITY);
- expectLastCall().once();
replayAll();
@@ -187,8 +183,6 @@ public class StackVersionListenerTest extends EasyMockSupport {
sch.setVersion(VALID_NEW_VERSION);
expectLastCall().once();
expect(sch.recalculateHostVersionState()).andReturn(DUMMY_REPOSITORY_VERSION_ENTITY).once();
- cluster.recalculateClusterVersionState(DUMMY_REPOSITORY_VERSION_ENTITY);
- expectLastCall().once();
replayAll();
http://git-wip-us.apache.org/repos/asf/ambari/blob/aaa821cc/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
index e84e0f6..469e8c8 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java
@@ -92,6 +92,7 @@ import org.apache.ambari.server.state.State;
import org.apache.ambari.server.state.alert.Scope;
import org.apache.ambari.server.state.alert.SourceType;
import org.apache.ambari.server.state.cluster.ClustersImpl;
+import org.junit.Assert;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.crypto.password.PasswordEncoder;
@@ -102,8 +103,6 @@ import com.google.inject.Provider;
import com.google.inject.Singleton;
import com.google.inject.persist.Transactional;
-import junit.framework.Assert;
-
@Singleton
public class OrmTestHelper {
@@ -403,8 +402,6 @@ public class OrmTestHelper {
StackId stackId = new StackId("HDP", "2.0.6");
cluster.setDesiredStackVersion(stackId);
getOrCreateRepositoryVersion(stackId, stackId.getStackVersion());
- cluster.createClusterVersion(stackId,
- stackId.getStackVersion(), "admin", RepositoryVersionState.INSTALLING);
return cluster;
}
@@ -436,7 +433,8 @@ public class OrmTestHelper {
ServiceFactory serviceFactory, ServiceComponentFactory componentFactory,
ServiceComponentHostFactory schFactory, String hostName) throws Exception {
- RepositoryVersionEntity repositoryVersion = cluster.getCurrentClusterVersion().getRepositoryVersion();
+ RepositoryVersionEntity repositoryVersion = repositoryVersionDAO.findByStackAndVersion(cluster.getDesiredStackVersion(),
+ cluster.getDesiredStackVersion().getStackVersion());
String serviceName = "HDFS";
Service service = serviceFactory.createNew(cluster, serviceName, repositoryVersion);
@@ -469,7 +467,8 @@ public class OrmTestHelper {
ServiceFactory serviceFactory, ServiceComponentFactory componentFactory,
ServiceComponentHostFactory schFactory, String hostName) throws Exception {
- RepositoryVersionEntity repositoryVersion = cluster.getCurrentClusterVersion().getRepositoryVersion();
+ RepositoryVersionEntity repositoryVersion = repositoryVersionDAO.findByStackAndVersion(cluster.getDesiredStackVersion(),
+ cluster.getDesiredStackVersion().getStackVersion());
String serviceName = "YARN";
Service service = serviceFactory.createNew(cluster, serviceName, repositoryVersion);
@@ -600,6 +599,41 @@ public class OrmTestHelper {
}
/**
+ * Convenient method to create or to get repository version for given cluster. The repository
+ * version string is based on the cluster's stack version.
+ *
+ * @param stackId stack object
+ * @param version stack version
+ * @return repository version
+ */
+ public RepositoryVersionEntity getOrCreateRepositoryVersion(Cluster cluster) {
+ StackId stackId = cluster.getCurrentStackVersion();
+ String version = stackId.getStackVersion() + ".1";
+
+ StackDAO stackDAO = injector.getInstance(StackDAO.class);
+ StackEntity stackEntity = stackDAO.find(stackId.getStackName(),
+ stackId.getStackVersion());
+
+ assertNotNull(stackEntity);
+
+ RepositoryVersionEntity repositoryVersion = repositoryVersionDAO.findByStackAndVersion(
+ stackId, version);
+
+ if (repositoryVersion == null) {
+ try {
+ repositoryVersion = repositoryVersionDAO.create(stackEntity, version,
+ String.valueOf(System.currentTimeMillis()) + uniqueCounter.incrementAndGet(), "");
+ } catch (Exception ex) {
+ LOG.error("Caught exception", ex);
+ ex.printStackTrace();
+ Assert.fail(MessageFormat.format("Unable to create Repo Version for Stack {0} and version {1}",
+ stackEntity.getStackName() + "-" + stackEntity.getStackVersion(), version));
+ }
+ }
+ return repositoryVersion;
+ }
+
+ /**
* Convenient method to create or to get repository version for given stack.
*
* @param stackId stack object
@@ -623,6 +657,7 @@ public class OrmTestHelper {
String.valueOf(System.currentTimeMillis()) + uniqueCounter.incrementAndGet(), "");
} catch (Exception ex) {
LOG.error("Caught exception", ex);
+ ex.printStackTrace();
Assert.fail(MessageFormat.format("Unable to create Repo Version for Stack {0} and version {1}",
stackEntity.getStackName() + "-" + stackEntity.getStackVersion(), version));
}