http://git-wip-us.apache.org/repos/asf/ambari/blob/522039eb/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java index bc178ea..4408492 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java @@ -156,6 +156,7 @@ public class StackUpgradeConfigurationMergeTest extends EasyMockSupport { RepositoryVersionEntity repositoryVersionEntity = createNiceMock(RepositoryVersionEntity.class); UpgradePack upgradePack = createNiceMock(UpgradePack.class); StackEntity targetStack = createNiceMock(StackEntity.class); + StackId targetStackId = createNiceMock(StackId.class); String version = "2.5.0.0-1234"; @@ -172,9 +173,12 @@ public class StackUpgradeConfigurationMergeTest extends EasyMockSupport { EasyMock.expect(targetStack.getStackName()).andReturn("HDP").anyTimes(); EasyMock.expect(targetStack.getStackVersion()).andReturn("2.5").anyTimes(); + EasyMock.expect(targetStackId.getStackName()).andReturn("HDP").atLeastOnce(); + EasyMock.expect(targetStackId.getStackVersion()).andReturn("2.5").atLeastOnce(); - EasyMock.expect(repositoryVersionEntity.getStack()).andReturn(targetStack); - EasyMock.expect(repositoryVersionEntity.getVersion()).andReturn(version); + EasyMock.expect(repositoryVersionEntity.getStackId()).andReturn(targetStackId).atLeastOnce(); + EasyMock.expect(repositoryVersionEntity.getStack()).andReturn(targetStack).atLeastOnce(); + EasyMock.expect(repositoryVersionEntity.getVersion()).andReturn(version).atLeastOnce(); EasyMock.expect(repositoryVersionDAO.findByStackNameAndVersion("HDP", version)).andReturn( repositoryVersionEntity); @@ -244,9 +248,8 @@ public class StackUpgradeConfigurationMergeTest extends EasyMockSupport { EasyMock.expect(upgradeContext.getCluster()).andReturn(cluster).anyTimes(); EasyMock.expect(upgradeContext.getDirection()).andReturn(Direction.UPGRADE).anyTimes(); EasyMock.expect(upgradeContext.getUpgradePack()).andReturn(upgradePack).anyTimes(); - EasyMock.expect(upgradeContext.getTargetRepositoryVersion()).andReturn(repositoryVersionEntity).anyTimes(); - EasyMock.expect(upgradeContext.getTargetStackId()).andReturn(new StackId("HDP-2.5")).anyTimes(); - EasyMock.expect(upgradeContext.getVersion()).andReturn(version).anyTimes(); + EasyMock.expect(upgradeContext.getRepositoryVersion()).andReturn(repositoryVersionEntity).anyTimes(); + EasyMock.expect(upgradeContext.getTargetRepositoryVersion(EasyMock.anyString())).andReturn(repositoryVersionEntity).anyTimes(); replayAll(); UpgradeResourceProvider upgradeResourceProvider = new UpgradeResourceProvider(amc);
http://git-wip-us.apache.org/repos/asf/ambari/blob/522039eb/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 e2d9cc6..3780ea5 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 @@ -291,7 +291,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_TYPE, UpgradeType.ROLLING.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_FAILURES, Boolean.TRUE.toString()); @@ -354,7 +354,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_TYPE, UpgradeType.ROLLING.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_MANUAL_VERIFICATION, Boolean.TRUE.toString()); @@ -398,7 +398,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_TYPE, UpgradeType.ROLLING.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_FAILURES, Boolean.TRUE.toString()); @@ -555,7 +555,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.1.1.1"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2111.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name()); @@ -606,7 +606,7 @@ public class UpgradeResourceProviderTest { // this should get skipped ServiceComponent component = service.getServiceComponent("ZOOKEEPER_SERVER"); ServiceComponentHost sch = component.addServiceComponentHost("h2"); - sch.setVersion("2.2.2.2"); + sch.setVersion(repoVersionEntity2200.getVersion()); // start out with 0 (sanity check) List<UpgradeEntity> upgrades = upgradeDao.findUpgrades(cluster.getClusterId()); @@ -623,8 +623,7 @@ public class UpgradeResourceProviderTest { UpgradeEntity upgradeEntity = new UpgradeEntity(); upgradeEntity.setClusterId(cluster.getClusterId()); upgradeEntity.setDirection(Direction.UPGRADE); - upgradeEntity.setFromVersion("2.1.1.1"); - upgradeEntity.setToVersion("2.2.2.2"); + upgradeEntity.setRepositoryVersion(repoVersionEntity2200); upgradeEntity.setUpgradePackage("upgrade_test"); upgradeEntity.setUpgradeType(UpgradeType.ROLLING); upgradeEntity.setRequestEntity(requestEntity); @@ -638,7 +637,6 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.1.1.1"); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.DOWNGRADE.name()); @@ -672,7 +670,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.1.1.1"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2111.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name()); @@ -693,7 +691,7 @@ public class UpgradeResourceProviderTest { // create another upgrade which should fail requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, "9999"); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); request = PropertyHelper.getCreateRequest(Collections.singleton(requestProps), null); @@ -706,10 +704,8 @@ public class UpgradeResourceProviderTest { // fix the properties and try again requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); - requestProps.put(UpgradeResourceProvider.UPGRADE_FROM_VERSION, "2.1.1.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.DOWNGRADE.name()); Map<String, String> requestInfoProperties = new HashMap<>(); @@ -722,10 +718,15 @@ public class UpgradeResourceProviderTest { UpgradeEntity entity = upgradeDao.findUpgrade(Long.parseLong(id)); assertNotNull(entity); - assertEquals("2.1.1.0", entity.getFromVersion()); - assertEquals("2.2.0.0", entity.getToVersion()); assertEquals(Direction.DOWNGRADE, entity.getDirection()); + // associated version is the FROM on DOWNGRADE + assertEquals(repoVersionEntity2111.getVersion(), entity.getRepositoryVersion().getVersion()); + + // target is by service + assertEquals(repoVersionEntity2110.getVersion(), + entity.getHistory().iterator().next().getTargetVersion()); + StageDAO dao = injector.getInstance(StageDAO.class); List<StageEntity> stages = dao.findByRequestId(entity.getRequestId()); @@ -757,7 +758,7 @@ public class UpgradeResourceProviderTest { // create upgrade request Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_nonrolling_new_stack"); requestProps.put(UpgradeResourceProvider.UPGRADE_TYPE, "NON_ROLLING"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); @@ -797,14 +798,11 @@ public class UpgradeResourceProviderTest { abortUpgrade(upgrade.getRequestId()); // create downgrade with one upgraded service - StackId stackId = new StackId("HDP", "2.2.0"); service.setDesiredRepositoryVersion(repoVersionEntity2200); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.1.1.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_nonrolling_new_stack"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); - requestProps.put(UpgradeResourceProvider.UPGRADE_FROM_VERSION, "2.2.0.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.DOWNGRADE.name()); Map<String, String> requestInfoProperties = new HashMap<>(); @@ -943,7 +941,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.2.3"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_direction"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name()); @@ -973,10 +971,8 @@ public class UpgradeResourceProviderTest { requestProps.clear(); // Now perform a downgrade requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.1.1.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_direction"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); - requestProps.put(UpgradeResourceProvider.UPGRADE_FROM_VERSION, "2.2.2.3"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.DOWNGRADE.name()); request = PropertyHelper.getCreateRequest(Collections.singleton(requestProps), null); @@ -1072,7 +1068,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name()); @@ -1201,10 +1197,7 @@ public class UpgradeResourceProviderTest { Map<String, UpgradePack> upgradePacks = ambariMetaInfo.getUpgradePacks("HDP", "2.1.1"); UpgradePack upgrade = upgradePacks.get("upgrade_to_new_stack"); - UpgradeContext upgradeContext = upgradeContextFactory.create(cluster, upgrade.getType(), - Direction.UPGRADE, "2.2.0.0", new HashMap<String, Object>()); - upgradeContext.setUpgradePack(upgrade); - + UpgradeContext upgradeContext = EasyMock.createNiceMock(UpgradeContext.class); upgradeResourceProvider.applyStackAndProcessConfigurations(upgradeContext); Map<String, Map<String, String>> expectedConfigurations = expectedConfigurationsCapture.getValue(); @@ -1248,7 +1241,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.1.1.1"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2111.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name()); @@ -1353,7 +1346,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_FAILURES, Boolean.TRUE.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_SC_FAILURES, Boolean.FALSE.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_REQUEST_ID, "" + entity.getRequestId()); @@ -1378,7 +1371,7 @@ public class UpgradeResourceProviderTest { requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_FAILURES, Boolean.FALSE.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_SC_FAILURES, Boolean.TRUE.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_REQUEST_ID, "" + entity.getRequestId()); @@ -1402,7 +1395,7 @@ public class UpgradeResourceProviderTest { requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_FAILURES, Boolean.FALSE.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_SC_FAILURES, Boolean.FALSE.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_REQUEST_ID, "" + entity.getRequestId()); @@ -1428,7 +1421,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_TYPE, UpgradeType.ROLLING.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_MANUAL_VERIFICATION, Boolean.FALSE.toString()); @@ -1466,7 +1459,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test_host_ordered"); requestProps.put(UpgradeResourceProvider.UPGRADE_TYPE, UpgradeType.HOST_ORDERED.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, Boolean.TRUE.toString()); @@ -1526,10 +1519,9 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); - requestProps.put(UpgradeResourceProvider.UPGRADE_FROM_VERSION, "2.1.1.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name()); Map<String, String> requestInfoProperties = new HashMap<>(); @@ -1554,10 +1546,8 @@ public class UpgradeResourceProviderTest { requestProps.clear(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.1.1.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); - requestProps.put(UpgradeResourceProvider.UPGRADE_FROM_VERSION, "2.2.0.0"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.DOWNGRADE.name()); request = PropertyHelper.getCreateRequest(Collections.singleton(requestProps), requestInfoProperties); @@ -1607,7 +1597,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.0.0"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity2200.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test_host_ordered"); requestProps.put(UpgradeResourceProvider.UPGRADE_TYPE, UpgradeType.HOST_ORDERED.toString()); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS,Boolean.TRUE.toString()); @@ -1627,6 +1617,11 @@ public class UpgradeResourceProviderTest { } } + @Test + public void testUpgradeHistory() throws Exception { + Assert.fail("Implement me!"); + } + private String parseSingleMessage(String msgStr){ JsonParser parser = new JsonParser(); JsonArray msgArray = (JsonArray) parser.parse(msgStr); @@ -1662,8 +1657,6 @@ public class UpgradeResourceProviderTest { @Test public void testTimeouts() throws Exception { - Cluster cluster = clusters.getCluster("c1"); - StackEntity stackEntity = stackDAO.find("HDP", "2.1.1"); RepositoryVersionEntity repoVersionEntity = new RepositoryVersionEntity(); repoVersionEntity.setDisplayName("My New Version 3"); @@ -1674,7 +1667,7 @@ public class UpgradeResourceProviderTest { Map<String, Object> requestProps = new HashMap<>(); requestProps.put(UpgradeResourceProvider.UPGRADE_CLUSTER_NAME, "c1"); - requestProps.put(UpgradeResourceProvider.UPGRADE_VERSION, "2.2.2.3"); + requestProps.put(UpgradeResourceProvider.UPGRADE_REPO_VERSION_ID, String.valueOf(repoVersionEntity.getId())); requestProps.put(UpgradeResourceProvider.UPGRADE_PACK, "upgrade_test"); requestProps.put(UpgradeResourceProvider.UPGRADE_SKIP_PREREQUISITE_CHECKS, "true"); requestProps.put(UpgradeResourceProvider.UPGRADE_DIRECTION, Direction.UPGRADE.name()); http://git-wip-us.apache.org/repos/asf/ambari/blob/522039eb/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 f4ac0b1..73d0e37 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 @@ -38,7 +38,6 @@ import org.apache.ambari.server.H2DatabaseCleaner; import org.apache.ambari.server.Role; import org.apache.ambari.server.RoleCommand; import org.apache.ambari.server.actionmanager.HostRoleStatus; -import org.apache.ambari.server.actionmanager.ServiceComponentHostEventWrapper; import org.apache.ambari.server.controller.AmbariManagementController; import org.apache.ambari.server.controller.AmbariServer; import org.apache.ambari.server.controller.predicate.AndPredicate; @@ -72,12 +71,10 @@ import org.apache.ambari.server.state.HostState; 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.ServiceComponentHostEvent; import org.apache.ambari.server.state.StackId; import org.apache.ambari.server.state.UpgradeHelper; import org.apache.ambari.server.state.stack.upgrade.Direction; import org.apache.ambari.server.state.stack.upgrade.UpgradeType; -import org.apache.ambari.server.state.svccomphost.ServiceComponentHostOpInProgressEvent; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -163,7 +160,7 @@ public class UpgradeSummaryResourceProviderTest { clusters.addCluster(clusterName, stackId); Cluster cluster = clusters.getCluster("c1"); - helper.getOrCreateRepositoryVersion(stackId, stackId.getStackVersion()); + helper.getOrCreateRepositoryVersion(stackId, "2.2.0.1-1234"); clusters.addHost("h1"); Host host = clusters.getHost("h1"); @@ -196,8 +193,6 @@ public class UpgradeSummaryResourceProviderTest { @Transactional void createCommands(Cluster cluster, Long upgradeRequestId, Long stageId) { HostEntity h1 = hostDAO.findByName("h1"); - ServiceComponentHostEvent event = new ServiceComponentHostOpInProgressEvent("ZOOKEEPER_SERVER", "h1", 1L); - ServiceComponentHostEventWrapper eventWrapper = new ServiceComponentHostEventWrapper(event); RequestEntity requestEntity = requestDAO.findByPK(upgradeRequestId); @@ -277,8 +272,11 @@ public class UpgradeSummaryResourceProviderTest { upgrade.setUpgradePackage("some-name"); upgrade.setUpgradeType(UpgradeType.ROLLING); upgrade.setDirection(Direction.UPGRADE); - upgrade.setFromVersion("2.2.0.0"); - upgrade.setToVersion("2.2.0.1"); + + RepositoryVersionEntity repositoryVersion2201 = injector.getInstance( + RepositoryVersionDAO.class).findByStackNameAndVersion("HDP", "2.2.0.1-1234"); + + upgrade.setRepositoryVersion(repositoryVersion2201); upgradeDAO.create(upgrade); // Resource used to make assertions. http://git-wip-us.apache.org/repos/asf/ambari/blob/522039eb/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/UpgradeDAOTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/UpgradeDAOTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/UpgradeDAOTest.java index 9e47e4d..baf6bba 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/UpgradeDAOTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/dao/UpgradeDAOTest.java @@ -33,11 +33,13 @@ import org.apache.ambari.server.actionmanager.HostRoleStatus; 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.orm.entities.RequestEntity; import org.apache.ambari.server.orm.entities.StageEntity; 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.state.StackId; import org.apache.ambari.server.state.UpgradeState; import org.apache.ambari.server.state.stack.upgrade.Direction; import org.apache.ambari.server.state.stack.upgrade.UpgradeType; @@ -62,6 +64,10 @@ public class UpgradeDAOTest { private OrmTestHelper helper; + RepositoryVersionEntity repositoryVersion2200; + RepositoryVersionEntity repositoryVersion2500; + RepositoryVersionEntity repositoryVersion2511; + /** * */ @@ -83,12 +89,16 @@ public class UpgradeDAOTest { requestEntity.setStages(new ArrayList<StageEntity>()); requestDAO.create(requestEntity); + repositoryVersion2200 = helper.getOrCreateRepositoryVersion(new StackId("HDP", "2.2.0"), "2.2.0.0-1234"); + repositoryVersion2500 = helper.getOrCreateRepositoryVersion(new StackId("HDP", "2.5.0"), "2.5.0.0-4567"); + repositoryVersion2511 = helper.getOrCreateRepositoryVersion(new StackId("HDP", "2.5.0"), "2.5.1.1-4567"); + + // create upgrade entities UpgradeEntity entity = new UpgradeEntity(); entity.setClusterId(clusterId.longValue()); entity.setRequestEntity(requestEntity); - entity.setFromVersion(""); - entity.setToVersion(""); + entity.setRepositoryVersion(repositoryVersion2200); entity.setUpgradeType(UpgradeType.ROLLING); entity.setUpgradePackage("test-upgrade"); entity.setDowngradeAllowed(true); @@ -165,8 +175,7 @@ public class UpgradeDAOTest { entity1.setClusterId(clusterId.longValue()); entity1.setDirection(Direction.UPGRADE); entity1.setRequestEntity(requestEntity); - entity1.setFromVersion("2.2.0.0-1234"); - entity1.setToVersion("2.3.0.0-4567"); + entity1.setRepositoryVersion(repositoryVersion2500); entity1.setUpgradeType(UpgradeType.ROLLING); entity1.setUpgradePackage("test-upgrade"); entity1.setDowngradeAllowed(true); @@ -176,8 +185,7 @@ public class UpgradeDAOTest { entity2.setClusterId(clusterId.longValue()); entity2.setDirection(Direction.DOWNGRADE); entity2.setRequestEntity(requestEntity); - entity2.setFromVersion("2.3.0.0-4567"); - entity2.setToVersion("2.2.0.0-1234"); + entity2.setRepositoryVersion(repositoryVersion2200); entity2.setUpgradeType(UpgradeType.ROLLING); entity2.setUpgradePackage("test-upgrade"); entity2.setDowngradeAllowed(true); @@ -187,8 +195,7 @@ public class UpgradeDAOTest { entity3.setClusterId(clusterId.longValue()); entity3.setDirection(Direction.UPGRADE); entity3.setRequestEntity(requestEntity); - entity3.setFromVersion("2.2.0.0-1234"); - entity3.setToVersion("2.3.1.1-4567"); + entity3.setRepositoryVersion(repositoryVersion2511); entity3.setUpgradeType(UpgradeType.ROLLING); entity3.setUpgradePackage("test-upgrade"); entity3.setDowngradeAllowed(true); @@ -217,8 +224,7 @@ public class UpgradeDAOTest { upgradeEntity.setClusterId(clusterId.longValue()); upgradeEntity.setDirection(Direction.UPGRADE); upgradeEntity.setRequestEntity(requestEntity); - upgradeEntity.setFromVersion("2.2.0.0-1234"); - upgradeEntity.setToVersion("2.3.0.0-4567"); + upgradeEntity.setRepositoryVersion(repositoryVersion2500); upgradeEntity.setUpgradeType(UpgradeType.ROLLING); upgradeEntity.setUpgradePackage("test-upgrade"); dao.create(upgradeEntity); http://git-wip-us.apache.org/repos/asf/ambari/blob/522039eb/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ComponentVersionCheckActionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ComponentVersionCheckActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ComponentVersionCheckActionTest.java index 7301c66..738ad1f 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ComponentVersionCheckActionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ComponentVersionCheckActionTest.java @@ -169,7 +169,9 @@ public class ComponentVersionCheckActionTest { String urlInfo = "[{'repositories':[" + "{'Repositories/base_url':'http://foo1','Repositories/repo_name':'HDP','Repositories/repo_id':'" + targetStack.getStackId() + "'}" + "], 'OperatingSystems/os_type':'redhat6'}]"; - repoVersionDAO.create(stackEntityTarget, targetRepo, String.valueOf(System.currentTimeMillis()), urlInfo); + + RepositoryVersionEntity toRepositoryVersion = repoVersionDAO.create(stackEntityTarget, + targetRepo, String.valueOf(System.currentTimeMillis()), urlInfo); // Start upgrading the newer repo c.setCurrentStackVersion(targetStack); @@ -194,8 +196,7 @@ public class ComponentVersionCheckActionTest { upgradeEntity.setClusterId(c.getClusterId()); upgradeEntity.setRequestEntity(requestEntity); upgradeEntity.setUpgradePackage(""); - upgradeEntity.setFromVersion(sourceRepo); - upgradeEntity.setToVersion(targetRepo); + upgradeEntity.setRepositoryVersion(toRepositoryVersion); upgradeEntity.setUpgradeType(UpgradeType.NON_ROLLING); upgradeDAO.create(upgradeEntity); @@ -236,6 +237,10 @@ public class ComponentVersionCheckActionTest { // Create the starting repo version m_helper.getOrCreateRepositoryVersion(sourceStack, sourceRepo); + // create the new repo version + RepositoryVersionEntity toRepositoryVersion = m_helper.getOrCreateRepositoryVersion(targetStack, + targetRepo); + RequestEntity requestEntity = new RequestEntity(); requestEntity.setClusterId(c.getClusterId()); requestEntity.setRequestId(1L); @@ -248,8 +253,7 @@ public class ComponentVersionCheckActionTest { upgradeEntity.setClusterId(c.getClusterId()); upgradeEntity.setRequestEntity(requestEntity); upgradeEntity.setUpgradePackage(""); - upgradeEntity.setFromVersion(sourceRepo); - upgradeEntity.setToVersion(targetRepo); + upgradeEntity.setRepositoryVersion(toRepositoryVersion); upgradeEntity.setUpgradeType(UpgradeType.NON_ROLLING); upgradeDAO.create(upgradeEntity); @@ -296,7 +300,6 @@ public class ComponentVersionCheckActionTest { // Finalize the upgrade Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -365,9 +368,6 @@ public class ComponentVersionCheckActionTest { // automatically before CURRENT Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); - commandParams.put(FinalizeUpgradeAction.ORIGINAL_STACK_KEY, sourceStack.getStackId()); - commandParams.put(FinalizeUpgradeAction.TARGET_STACK_KEY, targetStack.getStackId()); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -435,9 +435,6 @@ public class ComponentVersionCheckActionTest { // Finalize the upgrade Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); - commandParams.put(FinalizeUpgradeAction.SUPPORTED_SERVICES_KEY, "ZOOKEEPER"); - commandParams.put(FinalizeUpgradeAction.TARGET_STACK_KEY, "HDP-2.1.1"); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); http://git-wip-us.apache.org/repos/asf/ambari/blob/522039eb/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java index 0ff0b0a..2bc2c13 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java @@ -51,13 +51,11 @@ import org.apache.ambari.server.orm.dao.HostDAO; import org.apache.ambari.server.orm.dao.HostVersionDAO; import org.apache.ambari.server.orm.dao.RepositoryVersionDAO; import org.apache.ambari.server.orm.dao.RequestDAO; -import org.apache.ambari.server.orm.dao.ServiceComponentDesiredStateDAO; import org.apache.ambari.server.orm.dao.StackDAO; import org.apache.ambari.server.orm.dao.UpgradeDAO; import org.apache.ambari.server.orm.entities.HostVersionEntity; import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.orm.entities.RequestEntity; -import org.apache.ambari.server.orm.entities.ServiceComponentHistoryEntity; import org.apache.ambari.server.orm.entities.StackEntity; import org.apache.ambari.server.orm.entities.UpgradeEntity; import org.apache.ambari.server.serveraction.ServerAction; @@ -135,8 +133,6 @@ public class UpgradeActionTest { @Inject private UpgradeDAO upgradeDAO; @Inject - private ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO; - @Inject private StackDAO stackDAO; @Inject private AmbariMetaInfo ambariMetaInfo; @@ -145,6 +141,11 @@ public class UpgradeActionTest { @Inject private ConfigFactory configFactory; + private RepositoryVersionEntity repositoryVersion2110; + private RepositoryVersionEntity repositoryVersion2111; + private RepositoryVersionEntity repositoryVersion2201; + private RepositoryVersionEntity repositoryVersion2202; + @Before public void setup() throws Exception { m_injector = Guice.createInjector(new InMemoryDefaultTestModule()); @@ -159,6 +160,11 @@ public class UpgradeActionTest { Field field = AmbariServer.class.getDeclaredField("clusterController"); field.setAccessible(true); field.set(null, amc); + + repositoryVersion2110 = m_helper.getOrCreateRepositoryVersion(HDP_21_STACK, HDP_2_1_1_0); + repositoryVersion2111 = m_helper.getOrCreateRepositoryVersion(HDP_21_STACK, HDP_2_1_1_1); + repositoryVersion2201 = m_helper.getOrCreateRepositoryVersion(HDP_22_STACK, HDP_2_2_0_1); + repositoryVersion2202 = m_helper.getOrCreateRepositoryVersion(HDP_22_STACK, HDP_2_2_0_2); } @After @@ -394,7 +400,7 @@ public class UpgradeActionTest { Cluster cluster = clusters.getCluster(clusterName); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2201); // Install ZK and HDFS with some components Service zk = installService(cluster, "ZOOKEEPER"); @@ -423,7 +429,6 @@ public class UpgradeActionTest { commandParams.put(UpdateDesiredStackAction.COMMAND_PARAM_ORIGINAL_STACK, sourceStack.getStackId()); commandParams.put(UpdateDesiredStackAction.COMMAND_PARAM_TARGET_STACK, targetStack.getStackId()); commandParams.put(UpdateDesiredStackAction.COMMAND_PARAM_DIRECTION, Direction.UPGRADE.toString()); - commandParams.put(UpdateDesiredStackAction.COMMAND_PARAM_VERSION, targetRepo); commandParams.put(UpdateDesiredStackAction.COMMAND_PARAM_UPGRADE_PACK, upgradePackName); ExecutionCommand executionCommand = new ExecutionCommand(); @@ -468,13 +473,10 @@ public class UpgradeActionTest { Cluster cluster = clusters.getCluster(clusterName); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2111); Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "downgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, sourceRepo); - commandParams.put(FinalizeUpgradeAction.ORIGINAL_STACK_KEY, sourceStack.getStackId()); - commandParams.put(FinalizeUpgradeAction.TARGET_STACK_KEY, targetStack.getStackId()); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -522,13 +524,10 @@ public class UpgradeActionTest { Cluster cluster = clusters.getCluster(clusterName); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2202); Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "downgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, midRepo); - commandParams.put(FinalizeUpgradeAction.ORIGINAL_STACK_KEY, sourceStack.getStackId()); - commandParams.put(FinalizeUpgradeAction.TARGET_STACK_KEY, targetStack.getStackId()); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -559,7 +558,7 @@ public class UpgradeActionTest { Cluster cluster = clusters.getCluster(clusterName); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2111); RepositoryInfo repo = ambariMetaInfo.getRepository(sourceStack.getStackName(), sourceStack.getStackVersion(), "redhat6", sourceStack.getStackId()); assertEquals(HDP_211_CENTOS6_REPO_URL, repo.getBaseUrl()); @@ -567,7 +566,6 @@ public class UpgradeActionTest { // Finalize the upgrade Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -618,7 +616,7 @@ public class UpgradeActionTest { // Verify the repo before calling Finalize Cluster cluster = clusters.getCluster(clusterName); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2111); RepositoryInfo repo = ambariMetaInfo.getRepository(sourceStack.getStackName(), sourceStack.getStackVersion(), "redhat6", sourceStack.getStackId()); @@ -627,7 +625,6 @@ public class UpgradeActionTest { // Finalize the upgrade Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -661,13 +658,10 @@ public class UpgradeActionTest { cluster.setCurrentStackVersion(sourceStack); cluster.setDesiredStackVersion(targetStack); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2201); Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); - commandParams.put(FinalizeUpgradeAction.ORIGINAL_STACK_KEY, sourceStack.getStackId()); - commandParams.put(FinalizeUpgradeAction.TARGET_STACK_KEY, targetStack.getStackId()); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -719,7 +713,7 @@ public class UpgradeActionTest { makeCrossStackUpgradeTargetRepo(targetStack, targetRepo, hostName); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2201); // create some configs createConfigs(cluster); @@ -739,9 +733,6 @@ public class UpgradeActionTest { Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "downgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, sourceRepo); - commandParams.put(FinalizeUpgradeAction.ORIGINAL_STACK_KEY, sourceStack.getStackId()); - commandParams.put(FinalizeUpgradeAction.TARGET_STACK_KEY, targetStack.getStackId()); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -819,7 +810,7 @@ public class UpgradeActionTest { cluster.setCurrentStackVersion(sourceStack); cluster.setDesiredStackVersion(targetStack); - createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); + createUpgrade(cluster, repositoryVersion2201); // set the SCH versions to the new stack so that the finalize action is // happy @@ -842,9 +833,6 @@ public class UpgradeActionTest { // automatically before CURRENT Map<String, String> commandParams = new HashMap<>(); commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); - commandParams.put(FinalizeUpgradeAction.ORIGINAL_STACK_KEY, sourceStack.getStackId()); - commandParams.put(FinalizeUpgradeAction.TARGET_STACK_KEY, targetStack.getStackId()); ExecutionCommand executionCommand = new ExecutionCommand(); executionCommand.setCommandParams(commandParams); @@ -870,74 +858,6 @@ public class UpgradeActionTest { assertEquals(targetStack, desiredStackId); } - @Test - public void testUpgradeHistory() throws Exception { - StackId sourceStack = HDP_21_STACK; - StackId targetStack = HDP_21_STACK; - String sourceRepo = HDP_2_1_1_0; - String targetRepo = HDP_2_1_1_1; - String hostName = "h1"; - - createUpgradeClusterAndSourceRepo(sourceStack, sourceRepo, hostName); - - Cluster cluster = clusters.getCluster(clusterName); - - // install HDFS with some components - Service service = installService(cluster, "HDFS"); - addServiceComponent(cluster, service, "NAMENODE"); - addServiceComponent(cluster, service, "DATANODE"); - ServiceComponentHost nnSCH = createNewServiceComponentHost(cluster, "HDFS", "NAMENODE", "h1"); - ServiceComponentHost dnSCH = createNewServiceComponentHost(cluster, "HDFS", "DATANODE", "h1"); - - RepositoryVersionEntity targetRepositoryVersion = createUpgradeClusterTargetRepo(targetStack, - targetRepo, hostName); - - // fake their upgrade - service.setDesiredRepositoryVersion(targetRepositoryVersion); - nnSCH.setVersion(targetRepo); - dnSCH.setVersion(targetRepo); - - UpgradeEntity upgrade = createUpgrade(cluster, sourceStack, sourceRepo, targetRepo); - - // verify that no history exist exists yet - List<ServiceComponentHistoryEntity> historyEntites = serviceComponentDesiredStateDAO.findHistory( - cluster.getClusterId(), nnSCH.getServiceName(), - nnSCH.getServiceComponentName()); - - assertEquals(0, historyEntites.size()); - - RepositoryInfo repo = ambariMetaInfo.getRepository(sourceStack.getStackName(), sourceStack.getStackVersion(), "redhat6", sourceStack.getStackId()); - assertEquals(HDP_211_CENTOS6_REPO_URL, repo.getBaseUrl()); -// verifyBaseRepoURL(helper, cluster, null, host, HDP_211_CENTOS6_REPO_URL); - - // Finalize the upgrade, passing in the request ID so that history is - // created - Map<String, String> commandParams = new HashMap<>(); - commandParams.put(FinalizeUpgradeAction.REQUEST_ID, String.valueOf(upgrade.getRequestId())); - commandParams.put(FinalizeUpgradeAction.UPGRADE_DIRECTION_KEY, "upgrade"); - commandParams.put(FinalizeUpgradeAction.VERSION_KEY, targetRepo); - - ExecutionCommand executionCommand = new ExecutionCommand(); - executionCommand.setCommandParams(commandParams); - executionCommand.setClusterName(clusterName); - - HostRoleCommand hostRoleCommand = hostRoleCommandFactory.create(null, null, null, null); - hostRoleCommand.setExecutionCommandWrapper(new ExecutionCommandWrapper(executionCommand)); - - finalizeUpgradeAction.setExecutionCommand(executionCommand); - finalizeUpgradeAction.setHostRoleCommand(hostRoleCommand); - - CommandReport report = finalizeUpgradeAction.execute(null); - assertNotNull(report); - assertEquals(HostRoleStatus.COMPLETED.name(), report.getStatus()); - - // ensure that history now exists - historyEntites = serviceComponentDesiredStateDAO.findHistory(cluster.getClusterId(), - nnSCH.getServiceName(), nnSCH.getServiceComponentName()); - - assertEquals(1, historyEntites.size()); - } - private ServiceComponentHost createNewServiceComponentHost(Cluster cluster, String svc, String svcComponent, String hostName) throws AmbariException { @@ -1013,8 +933,8 @@ public class UpgradeActionTest { * @param targetRepo * @throws Exception */ - private UpgradeEntity createUpgrade(Cluster cluster, StackId sourceStack, String sourceRepo, - String targetRepo) throws Exception { + private UpgradeEntity createUpgrade(Cluster cluster, RepositoryVersionEntity repositoryVersion) + throws Exception { // create some entities for the finalize action to work with for patch // history @@ -1030,8 +950,7 @@ public class UpgradeActionTest { upgradeEntity.setClusterId(cluster.getClusterId()); upgradeEntity.setRequestEntity(requestEntity); upgradeEntity.setUpgradePackage(""); - upgradeEntity.setFromVersion(sourceRepo); - upgradeEntity.setToVersion(targetRepo); + upgradeEntity.setRepositoryVersion(repositoryVersion); upgradeEntity.setUpgradeType(UpgradeType.NON_ROLLING); upgradeDAO.create(upgradeEntity); http://git-wip-us.apache.org/repos/asf/ambari/blob/522039eb/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java index 325fc90..4c9ffcc 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ServiceComponentTest.java @@ -23,14 +23,12 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; import java.sql.SQLException; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.H2DatabaseCleaner; -import org.apache.ambari.server.actionmanager.HostRoleStatus; import org.apache.ambari.server.controller.ServiceComponentResponse; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; @@ -39,23 +37,15 @@ import org.apache.ambari.server.orm.dao.HostComponentDesiredStateDAO; import org.apache.ambari.server.orm.dao.HostComponentStateDAO; import org.apache.ambari.server.orm.dao.HostDAO; import org.apache.ambari.server.orm.dao.RepositoryVersionDAO; -import org.apache.ambari.server.orm.dao.RequestDAO; import org.apache.ambari.server.orm.dao.ServiceComponentDesiredStateDAO; import org.apache.ambari.server.orm.dao.StackDAO; -import org.apache.ambari.server.orm.dao.UpgradeDAO; 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.RequestEntity; import org.apache.ambari.server.orm.entities.ServiceComponentDesiredStateEntity; -import org.apache.ambari.server.orm.entities.ServiceComponentHistoryEntity; import org.apache.ambari.server.orm.entities.ServiceComponentVersionEntity; import org.apache.ambari.server.orm.entities.StackEntity; -import org.apache.ambari.server.orm.entities.StageEntity; -import org.apache.ambari.server.orm.entities.UpgradeEntity; -import org.apache.ambari.server.state.stack.upgrade.Direction; -import org.apache.ambari.server.state.stack.upgrade.UpgradeType; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -343,60 +333,6 @@ public class ServiceComponentTest { } } - @Test - public void testHistoryCreation() throws AmbariException { - ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO = injector.getInstance( - ServiceComponentDesiredStateDAO.class); - - String componentName = "NAMENODE"; - ServiceComponent component = serviceComponentFactory.createNew(service, componentName); - service.addServiceComponent(component); - - ServiceComponent sc = service.getServiceComponent(componentName); - Assert.assertNotNull(sc); - - sc.setDesiredState(State.INSTALLED); - Assert.assertEquals(State.INSTALLED, sc.getDesiredState()); - - StackId newStackId = new StackId("HDP-2.2.0"); - RepositoryVersionEntity repositoryVersion = helper.getOrCreateRepositoryVersion(newStackId, - newStackId.getStackVersion()); - - sc.setDesiredRepositoryVersion(repositoryVersion); - - StackId stackId = sc.getDesiredStackId(); - Assert.assertEquals(new StackId("HDP", "2.2.0"), stackId); - - Assert.assertEquals("HDP-2.2.0", sc.getDesiredStackId().getStackId()); - - ServiceComponentDesiredStateEntity serviceComponentDesiredStateEntity = serviceComponentDesiredStateDAO.findByName( - cluster.getClusterId(), serviceName, componentName); - - Assert.assertNotNull(serviceComponentDesiredStateEntity); - - UpgradeEntity upgradeEntity = createUpgradeEntity("2.2.0.0", "2.2.0.1"); - ServiceComponentHistoryEntity history = new ServiceComponentHistoryEntity(); - history.setFromStack(serviceComponentDesiredStateEntity.getDesiredStack()); - history.setToStack(serviceComponentDesiredStateEntity.getDesiredStack()); - history.setUpgrade(upgradeEntity); - - serviceComponentDesiredStateEntity.addHistory(history); - - serviceComponentDesiredStateEntity = serviceComponentDesiredStateDAO.merge( - serviceComponentDesiredStateEntity); - - serviceComponentDesiredStateEntity = serviceComponentDesiredStateDAO.findByName( - cluster.getClusterId(), serviceName, componentName); - - assertEquals(1, serviceComponentDesiredStateEntity.getHistory().size()); - ServiceComponentHistoryEntity persistedHistory = serviceComponentDesiredStateEntity.getHistory().iterator().next(); - - assertEquals(history.getFromStack(), persistedHistory.getFromStack()); - assertEquals(history.getToStack(), persistedHistory.getFromStack()); - assertEquals(history.getUpgrade(), persistedHistory.getUpgrade()); - assertEquals(history.getServiceComponentDesiredState(), persistedHistory.getServiceComponentDesiredState()); - } - @Test public void testServiceComponentRemove() throws AmbariException { @@ -459,83 +395,6 @@ public class ServiceComponentTest { Assert.assertNull(serviceComponentDesiredStateEntity); } - /** - * Tests the CASCADE nature of removing a service component also removes the - * history. - * - * @throws AmbariException - */ - @Test - public void testHistoryRemoval() throws AmbariException { - ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO = injector.getInstance( - ServiceComponentDesiredStateDAO.class); - - String componentName = "NAMENODE"; - ServiceComponent component = serviceComponentFactory.createNew(service, componentName); - service.addServiceComponent(component); - - ServiceComponent sc = service.getServiceComponent(componentName); - Assert.assertNotNull(sc); - - sc.setDesiredState(State.INSTALLED); - Assert.assertEquals(State.INSTALLED, sc.getDesiredState()); - - StackId newStackId = new StackId("HDP-2.2.0"); - RepositoryVersionEntity repositoryVersion = helper.getOrCreateRepositoryVersion(newStackId, - newStackId.getStackVersion()); - - sc.setDesiredRepositoryVersion(repositoryVersion); - - StackId stackId = sc.getDesiredStackId(); - Assert.assertEquals(new StackId("HDP", "2.2.0"), stackId); - - Assert.assertEquals("HDP-2.2.0", sc.getDesiredStackId().getStackId()); - - ServiceComponentDesiredStateEntity serviceComponentDesiredStateEntity = serviceComponentDesiredStateDAO.findByName( - cluster.getClusterId(), serviceName, componentName); - - - Assert.assertNotNull(serviceComponentDesiredStateEntity); - - UpgradeEntity upgradeEntity = createUpgradeEntity("2.2.0.0", "2.2.0.1"); - ServiceComponentHistoryEntity history = new ServiceComponentHistoryEntity(); - history.setFromStack(serviceComponentDesiredStateEntity.getDesiredStack()); - history.setToStack(serviceComponentDesiredStateEntity.getDesiredStack()); - history.setUpgrade(upgradeEntity); - history.setServiceComponentDesiredState(serviceComponentDesiredStateEntity); - - serviceComponentDesiredStateEntity.addHistory(history); - - serviceComponentDesiredStateEntity = serviceComponentDesiredStateDAO.merge( - serviceComponentDesiredStateEntity); - - serviceComponentDesiredStateEntity = serviceComponentDesiredStateDAO.findByName( - cluster.getClusterId(), serviceName, componentName); - - assertEquals(1, serviceComponentDesiredStateEntity.getHistory().size()); - - // verify that we can retrieve the history directly - List<ServiceComponentHistoryEntity> componentHistoryList = serviceComponentDesiredStateDAO.findHistory( - sc.getClusterId(), sc.getServiceName(), sc.getName()); - - assertEquals(1, componentHistoryList.size()); - - // delete the SC - sc.delete(); - - // verify history is gone, too - serviceComponentDesiredStateEntity = serviceComponentDesiredStateDAO.findByName( - cluster.getClusterId(), serviceName, componentName); - - Assert.assertNull(serviceComponentDesiredStateEntity); - - // verify that we cannot retrieve the history directly - componentHistoryList = serviceComponentDesiredStateDAO.findHistory(sc.getClusterId(), - sc.getServiceName(), sc.getName()); - - assertEquals(0, componentHistoryList.size()); - } - @Test public void testVersionCreation() throws Exception { ServiceComponentDesiredStateDAO serviceComponentDesiredStateDAO = injector.getInstance( @@ -734,38 +593,4 @@ public class ServiceComponentTest { entity = serviceComponentDesiredStateDAO.findByName(cluster.getClusterId(), serviceName, componentName); assertEquals(RepositoryVersionState.CURRENT, entity.getRepositoryState()); } - - - /** - * Creates an upgrade entity, asserting it was created correctly. - * - * @param fromVersion - * @param toVersion - * @return - */ - private UpgradeEntity createUpgradeEntity(String fromVersion, String toVersion) { - RequestDAO requestDAO = injector.getInstance(RequestDAO.class); - RequestEntity requestEntity = new RequestEntity(); - requestEntity.setRequestId(99L); - requestEntity.setClusterId(cluster.getClusterId()); - requestEntity.setStatus(HostRoleStatus.PENDING); - requestEntity.setStages(new ArrayList<StageEntity>()); - requestDAO.create(requestEntity); - - UpgradeDAO upgradeDao = injector.getInstance(UpgradeDAO.class); - UpgradeEntity upgradeEntity = new UpgradeEntity(); - upgradeEntity.setClusterId(cluster.getClusterId()); - upgradeEntity.setDirection(Direction.UPGRADE); - upgradeEntity.setFromVersion(fromVersion); - upgradeEntity.setToVersion(toVersion); - upgradeEntity.setUpgradePackage("upgrade_test"); - upgradeEntity.setUpgradeType(UpgradeType.ROLLING); - upgradeEntity.setRequestEntity(requestEntity); - - upgradeDao.create(upgradeEntity); - List<UpgradeEntity> upgrades = upgradeDao.findUpgrades(cluster.getClusterId()); - assertEquals(1, upgrades.size()); - return upgradeEntity; - } - }
