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/07/24 15:27:11 UTC
[45/50] [abbrv] ambari git commit: AMBARI-21552 - Pass Repository ID
To Upgrade Prechecks (jonathanhurley)
AMBARI-21552 - Pass Repository ID To Upgrade Prechecks (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d77bde7f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d77bde7f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d77bde7f
Branch: refs/heads/branch-feature-AMBARI-12556
Commit: d77bde7fde932529dca524bf7112dd64f5c56b4d
Parents: eca5599
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Fri Jul 21 14:55:49 2017 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Fri Jul 21 23:44:39 2017 -0400
----------------------------------------------------------------------
.../server/controller/PrereqCheckRequest.java | 28 ++++----
.../PreUpgradeCheckResourceProvider.java | 70 ++++++++++++--------
.../ambari/server/state/UpgradeContext.java | 15 ++---
.../ambari/server/state/UpgradeHelper.java | 59 ++++++++---------
.../checks/AbstractCheckDescriptorTest.java | 11 ++-
.../server/checks/AtlasPresenceCheckTest.java | 4 +-
.../checks/ClientRetryPropertyCheckTest.java | 22 +++++-
.../checks/ComponentsInstallationCheckTest.java | 16 ++++-
.../checks/ConfigurationMergeCheckTest.java | 13 ++--
.../HiveDynamicServiceDiscoveryCheckTest.java | 23 +++++--
.../checks/HiveMultipleMetastoreCheckTest.java | 26 +++++++-
.../server/checks/HostsHeartbeatCheckTest.java | 16 ++++-
.../checks/HostsMasterMaintenanceCheckTest.java | 27 +++++++-
.../checks/HostsRepositoryVersionCheckTest.java | 40 +++++++----
.../server/checks/InstallPackagesCheckTest.java | 18 +++--
...duce2JobHistoryStatePreservingCheckTest.java | 7 +-
.../checks/PreviousUpgradeCompletedTest.java | 11 ++-
.../server/checks/ServicePresenceCheckTest.java | 13 +++-
.../ServicesMaintenanceModeCheckTest.java | 16 ++++-
.../ServicesNamenodeTruncateCheckTest.java | 19 ++++--
.../server/checks/ServicesUpCheckTest.java | 17 ++++-
...nTimelineServerStatePreservingCheckTest.java | 7 +-
.../PreUpgradeCheckResourceProviderTest.java | 6 +-
.../ambari/server/state/UpgradeHelperTest.java | 14 ++--
24 files changed, 349 insertions(+), 149 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/main/java/org/apache/ambari/server/controller/PrereqCheckRequest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/PrereqCheckRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/PrereqCheckRequest.java
index c8c9f9e..bd207ae 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/PrereqCheckRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/PrereqCheckRequest.java
@@ -21,6 +21,7 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.ambari.server.checks.CheckDescription;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.UpgradePack.PrerequisiteCheckConfig;
@@ -31,9 +32,8 @@ import org.apache.ambari.server.state.stack.upgrade.UpgradeType;
*/
public class PrereqCheckRequest {
private String m_clusterName;
- private String m_repositoryVersion;
private StackId m_sourceStackId;
- private StackId m_targetStackId;
+ private RepositoryVersionEntity m_targetRepositoryVersion;
private PrerequisiteCheckConfig m_prereqCheckConfig;
private UpgradeType m_upgradeType;
@@ -65,11 +65,11 @@ public class PrereqCheckRequest {
}
public String getRepositoryVersion() {
- return m_repositoryVersion;
- }
+ if (null == m_targetRepositoryVersion) {
+ return null;
+ }
- public void setRepositoryVersion(String repositoryVersion) {
- m_repositoryVersion = repositoryVersion;
+ return m_targetRepositoryVersion.getVersion();
}
/**
@@ -115,17 +115,21 @@ public class PrereqCheckRequest {
* @return the targetStackId
*/
public StackId getTargetStackId() {
- return m_targetStackId;
+ if (null == m_targetRepositoryVersion) {
+ return null;
+ }
+
+ return m_targetRepositoryVersion.getStackId();
}
/**
- * Sets the target stack of the upgrade.
+ * Sets the target of the upgrade.
*
- * @param targetStackId
- * the targetStackId to set
+ * @param targetRepositoryVersion
+ * the target repository version
*/
- public void setTargetStackId(StackId targetStackId) {
- m_targetStackId = targetStackId;
+ public void setTargetRepositoryVersion(RepositoryVersionEntity targetRepositoryVersion) {
+ m_targetRepositoryVersion = targetRepositoryVersion;
}
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java
index ea8fb37..24a55c1 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java
@@ -47,11 +47,13 @@ import org.apache.ambari.server.state.CheckHelper;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.ServiceInfo;
+import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.UpgradeHelper;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.apache.ambari.server.state.stack.UpgradePack;
import org.apache.ambari.server.state.stack.upgrade.Direction;
import org.apache.ambari.server.state.stack.upgrade.UpgradeType;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -68,20 +70,21 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider {
//----- Property ID constants ---------------------------------------------
- public static final String UPGRADE_CHECK_ID_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "id");
- public static final String UPGRADE_CHECK_CHECK_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "check");
- public static final String UPGRADE_CHECK_STATUS_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "status");
- public static final String UPGRADE_CHECK_REASON_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "reason");
- public static final String UPGRADE_CHECK_FAILED_ON_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "failed_on");
- public static final String UPGRADE_CHECK_FAILED_DETAIL_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "failed_detail");
- public static final String UPGRADE_CHECK_CHECK_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "check_type");
- public static final String UPGRADE_CHECK_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "cluster_name");
- public static final String UPGRADE_CHECK_UPGRADE_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "upgrade_type");
+ public static final String UPGRADE_CHECK_ID_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "id");
+ public static final String UPGRADE_CHECK_CHECK_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "check");
+ public static final String UPGRADE_CHECK_STATUS_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "status");
+ public static final String UPGRADE_CHECK_REASON_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "reason");
+ public static final String UPGRADE_CHECK_FAILED_ON_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "failed_on");
+ public static final String UPGRADE_CHECK_FAILED_DETAIL_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "failed_detail");
+ public static final String UPGRADE_CHECK_CHECK_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "check_type");
+ public static final String UPGRADE_CHECK_CLUSTER_NAME_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "cluster_name");
+ public static final String UPGRADE_CHECK_UPGRADE_TYPE_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "upgrade_type");
+ public static final String UPGRADE_CHECK_TARGET_REPOSITORY_VERSION_ID_ID = PropertyHelper.getPropertyId("UpgradeChecks", "repository_version_id");
+
/**
* Optional parameter to specify the preferred Upgrade Pack to use.
*/
public static final String UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "upgrade_pack");
- public static final String UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "repository_version");
@Inject
private static Provider<Clusters> clustersProvider;
@@ -113,8 +116,8 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider {
UPGRADE_CHECK_CHECK_TYPE_PROPERTY_ID,
UPGRADE_CHECK_CLUSTER_NAME_PROPERTY_ID,
UPGRADE_CHECK_UPGRADE_TYPE_PROPERTY_ID,
- UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID,
- UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID);
+ UPGRADE_CHECK_TARGET_REPOSITORY_VERSION_ID_ID,
+ UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID);
@SuppressWarnings("serial")
@@ -134,6 +137,7 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider {
super(propertyIds, keyPropertyIds, managementController);
}
+ @Override
public Set<Resource> getResources(Request request, Predicate predicate) throws SystemException, UnsupportedPropertyException,
NoSuchResourceException, NoSuchParentResourceException {
@@ -161,19 +165,25 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider {
throw new NoSuchResourceException(ambariException.getMessage());
}
- String stackName = cluster.getCurrentStackVersion().getStackName();
- String sourceStackVersion = cluster.getCurrentStackVersion().getStackVersion();
+ String repositoryVersionId = (String) propertyMap.get(
+ UPGRADE_CHECK_TARGET_REPOSITORY_VERSION_ID_ID);
+
+ if (StringUtils.isBlank(repositoryVersionId)) {
+ throw new SystemException(
+ String.format("%s is a required property when executing upgrade checks",
+ UPGRADE_CHECK_TARGET_REPOSITORY_VERSION_ID_ID));
+ }
+
+ final PrereqCheckRequest upgradeCheckRequest = new PrereqCheckRequest(clusterName,
+ upgradeType);
- final PrereqCheckRequest upgradeCheckRequest = new PrereqCheckRequest(clusterName, upgradeType);
+ StackId sourceStackId = cluster.getCurrentStackVersion();
upgradeCheckRequest.setSourceStackId(cluster.getCurrentStackVersion());
- if (propertyMap.containsKey(UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID)) {
- String repositoryVersionId = propertyMap.get(UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID).toString();
- RepositoryVersionEntity repositoryVersionEntity = repositoryVersionDAO.findByStackNameAndVersion(stackName, repositoryVersionId);
- // set some required properties on the check request
- upgradeCheckRequest.setRepositoryVersion(repositoryVersionId);
- upgradeCheckRequest.setTargetStackId(repositoryVersionEntity.getStackId());
- }
+ RepositoryVersionEntity repositoryVersion = repositoryVersionDAO.findByPK(
+ Long.valueOf(repositoryVersionId));
+
+ upgradeCheckRequest.setTargetRepositoryVersion(repositoryVersion);
//ambariMetaInfo.getStack(stackName, cluster.getCurrentStackVersion().getStackVersion()).getUpgradePacks()
// TODO AMBARI-12698, filter the upgrade checks to run based on the stack and upgrade type, or the upgrade pack.
@@ -182,8 +192,9 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider {
(String) propertyMap.get(UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID) : null;
try{
// Hint: PreChecks currently executing only before UPGRADE direction
- upgradePack = upgradeHelper.get().suggestUpgradePack(clusterName, sourceStackVersion,
- upgradeCheckRequest.getRepositoryVersion(), Direction.UPGRADE, upgradeType, preferredUpgradePackName);
+ upgradePack = upgradeHelper.get().suggestUpgradePack(clusterName, sourceStackId,
+ repositoryVersion.getStackId(), Direction.UPGRADE, upgradeType,
+ preferredUpgradePackName);
} catch (AmbariException e) {
throw new SystemException(e.getMessage(), e);
}
@@ -199,11 +210,13 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider {
try {
// Register all the custom prechecks from the services
- Map<String, ServiceInfo> services = getManagementController().getAmbariMetaInfo().getServices(stackName, sourceStackVersion);
+ Map<String, ServiceInfo> services = getManagementController().getAmbariMetaInfo().getServices(
+ sourceStackId.getStackName(), sourceStackId.getStackVersion());
+
List<AbstractCheckDescriptor> serviceLevelUpgradeChecksToRun = upgradeCheckRegistry.getServiceLevelUpgradeChecks(upgradePack, services);
upgradeChecksToRun.addAll(serviceLevelUpgradeChecksToRun);
} catch (ParentObjectNotFoundException parentNotFoundException) {
- LOG.error("Invalid stack version: " + stackName + "-" + sourceStackVersion, parentNotFoundException);
+ LOG.error("Invalid stack version: {}", sourceStackId, parentNotFoundException);
} catch (AmbariException ambariException) {
LOG.error("Unable to register all the custom prechecks from the services", ambariException);
} catch (Exception e) {
@@ -221,9 +234,8 @@ public class PreUpgradeCheckResourceProvider extends ReadOnlyResourceProvider {
setResourceProperty(resource, UPGRADE_CHECK_CHECK_TYPE_PROPERTY_ID, prerequisiteCheck.getType(), requestedIds);
setResourceProperty(resource, UPGRADE_CHECK_CLUSTER_NAME_PROPERTY_ID, prerequisiteCheck.getClusterName(), requestedIds);
setResourceProperty(resource, UPGRADE_CHECK_UPGRADE_TYPE_PROPERTY_ID, upgradeType, requestedIds);
- if (upgradeCheckRequest.getRepositoryVersion() != null) {
- setResourceProperty(resource, UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID, upgradeCheckRequest.getRepositoryVersion(), requestedIds);
- }
+ setResourceProperty(resource, UPGRADE_CHECK_TARGET_REPOSITORY_VERSION_ID_ID, upgradeCheckRequest.getRepositoryVersion(), requestedIds);
+
resources.add(resource);
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
index 1695bd3..0e02c77 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java
@@ -353,12 +353,12 @@ public class UpgradeContext {
String preferredUpgradePackName = (String) upgradeRequestMap.get(UPGRADE_PACK);
@Experimental(feature = ExperimentalFeature.PATCH_UPGRADES, comment="This is wrong")
- String upgradePackFromVersion = cluster.getService(
- m_services.iterator().next()).getDesiredRepositoryVersion().getVersion();
+ RepositoryVersionEntity upgradeFromRepositoryVersion = cluster.getService(
+ m_services.iterator().next()).getDesiredRepositoryVersion();
m_upgradePack = m_upgradeHelper.suggestUpgradePack(m_cluster.getClusterName(),
- upgradePackFromVersion, m_repositoryVersion.getVersion(), m_direction, m_type,
- preferredUpgradePackName);
+ upgradeFromRepositoryVersion.getStackId(), m_repositoryVersion.getStackId(), m_direction,
+ m_type, preferredUpgradePackName);
// the validator will throw an exception if the upgrade request is not valid
UpgradeRequestValidator upgradeRequestValidator = buildValidator(m_type);
@@ -955,16 +955,13 @@ public class UpgradeContext {
return;
}
- RepositoryVersionEntity repositoryVersion = m_repoVersionDAO.findByPK(
- Long.valueOf(repositoryVersionId));
-
// Validate pre-req checks pass
PreUpgradeCheckResourceProvider provider = (PreUpgradeCheckResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
Resource.Type.PreUpgradeCheck);
Predicate preUpgradeCheckPredicate = new PredicateBuilder().property(
PreUpgradeCheckResourceProvider.UPGRADE_CHECK_CLUSTER_NAME_PROPERTY_ID).equals(cluster.getClusterName()).and().property(
- PreUpgradeCheckResourceProvider.UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID).equals(repositoryVersion.getVersion()).and().property(
+ PreUpgradeCheckResourceProvider.UPGRADE_CHECK_TARGET_REPOSITORY_VERSION_ID_ID).equals(repositoryVersionId).and().property(
PreUpgradeCheckResourceProvider.UPGRADE_CHECK_UPGRADE_TYPE_PROPERTY_ID).equals(type).and().property(
PreUpgradeCheckResourceProvider.UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID).equals(preferredUpgradePack).toPredicate();
@@ -1122,4 +1119,4 @@ public class UpgradeContext {
return hostOrderItems;
}
}
-}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java
index 5fdcd66..7ca6976 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeHelper.java
@@ -50,7 +50,6 @@ import org.apache.ambari.server.controller.utilities.ClusterControllerHelper;
import org.apache.ambari.server.controller.utilities.PredicateBuilder;
import org.apache.ambari.server.controller.utilities.PropertyHelper;
import org.apache.ambari.server.events.listeners.upgrade.StackVersionListener;
-import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
import org.apache.ambari.server.orm.dao.ServiceConfigDAO;
import org.apache.ambari.server.orm.entities.ClusterConfigEntity;
import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
@@ -190,9 +189,6 @@ public class UpgradeHelper {
@Inject
private Provider<Clusters> m_clusters;
- @Inject
- private Provider<RepositoryVersionDAO> m_repoVersionProvider;
-
/**
* Used to update the configuration properties.
*/
@@ -211,66 +207,69 @@ public class UpgradeHelper {
*
* @param clusterName
* The name of the cluster
- * @param upgradeFromVersion
- * Current stack version
- * @param upgradeToVersion
- * Target stack version
+ * @param sourceStackId
+ * the "from" stack for this upgrade/downgrade
+ * @param targetStackId
+ * the "to" stack for this upgrade/downgrade
* @param direction
* {@code Direction} of the upgrade
* @param upgradeType
* The {@code UpgradeType}
+ * @param targetStackName
+ * The destination target stack name.
* @param preferredUpgradePackName
* For unit test, need to prefer an upgrade pack since multiple
* matches can be found.
* @return {@code UpgradeType} object
* @throws AmbariException
*/
- public UpgradePack suggestUpgradePack(String clusterName, String upgradeFromVersion, String upgradeToVersion,
- Direction direction, UpgradeType upgradeType, String preferredUpgradePackName) throws AmbariException {
+ public UpgradePack suggestUpgradePack(String clusterName,
+ StackId sourceStackId, StackId targetStackId, Direction direction, UpgradeType upgradeType,
+ String preferredUpgradePackName) throws AmbariException {
// Find upgrade packs based on current stack. This is where to upgrade from
Cluster cluster = m_clusters.get().getCluster(clusterName);
- StackId stack = cluster.getCurrentStackVersion();
+ StackId currentStack = cluster.getCurrentStackVersion();
- String repoVersion = upgradeToVersion;
+ StackId stackForUpgradePack = sourceStackId;
- // TODO AMBARI-12706. Here we need to check, how this would work with SWU Downgrade
- if (direction.isDowngrade() && null != upgradeFromVersion) {
- repoVersion = upgradeFromVersion;
+ if (direction.isDowngrade()) {
+ stackForUpgradePack = targetStackId;
}
- RepositoryVersionEntity versionEntity = m_repoVersionProvider.get().findByStackNameAndVersion(
- stack.getStackName(), repoVersion);
-
- if (versionEntity == null) {
- throw new AmbariException(String.format("Repository version %s was not found", repoVersion));
- }
+ Map<String, UpgradePack> packs = m_ambariMetaInfoProvider.get().getUpgradePacks(
+ currentStack.getStackName(), currentStack.getStackVersion());
- Map<String, UpgradePack> packs = m_ambariMetaInfoProvider.get().getUpgradePacks(stack.getStackName(), stack.getStackVersion());
UpgradePack pack = null;
if (StringUtils.isNotEmpty(preferredUpgradePackName) && packs.containsKey(preferredUpgradePackName)) {
pack = packs.get(preferredUpgradePackName);
- } else {
- String repoStackId = versionEntity.getStackId().getStackId();
+ }
+
+ // Best-attempt at picking an upgrade pack assuming within the same stack whose target stack version matches.
+ // If multiple candidates are found, raise an exception.
+ if (null == pack) {
for (UpgradePack upgradePack : packs.values()) {
- if (null != upgradePack.getTargetStack() && upgradePack.getTargetStack().equals(repoStackId) &&
- upgradeType == upgradePack.getType()) {
+ if (null != upgradePack.getTargetStack()
+ && StringUtils.equals(upgradePack.getTargetStack(), stackForUpgradePack.getStackId())
+ && upgradeType == upgradePack.getType()) {
if (null == pack) {
// Pick the pack.
pack = upgradePack;
} else {
throw new AmbariException(
- String.format("Unable to perform %s. Found multiple upgrade packs for type %s and target version %s",
- direction.getText(false), upgradeType.toString(), repoVersion));
+ String.format(
+ "Unable to perform %s. Found multiple upgrade packs for type %s and stack %s",
+ direction.getText(false), upgradeType.toString(), stackForUpgradePack));
}
}
}
}
if (null == pack) {
- throw new AmbariException(String.format("Unable to perform %s. Could not locate %s upgrade pack for version %s",
- direction.getText(false), upgradeType.toString(), repoVersion));
+ throw new AmbariException(
+ String.format("Unable to perform %s. Could not locate %s upgrade pack for stack %s",
+ direction.getText(false), upgradeType.toString(), stackForUpgradePack));
}
return pack;
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java
index 01cda02..9fbd012 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/AbstractCheckDescriptorTest.java
@@ -17,6 +17,7 @@
*/
package org.apache.ambari.server.checks;
+import static org.easymock.EasyMock.anyLong;
import static org.easymock.EasyMock.anyString;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
@@ -229,16 +230,20 @@ public class AbstractCheckDescriptorTest {
VersionDefinitionXml repoXml = EasyMock.createMock(VersionDefinitionXml.class);
expect(repoVersion.getType()).andReturn(RepositoryType.PATCH).atLeastOnce();
expect(repoVersion.getRepositoryXml()).andReturn(repoXml).atLeastOnce();
+ expect(repoVersion.getStackId()).andReturn(new StackId("HDP-2.5")).atLeastOnce();
+ expect(repoVersion.getVersion()).andReturn("2.5.0.0-1234").atLeastOnce();
expect(repoXml.getAvailableServiceNames()).andReturn(Collections.singleton("SERVICE2")).atLeastOnce();
- expect(repositoryVersionDao.findByStackNameAndVersion(
- anyString(), anyString())).andReturn(repoVersion).atLeastOnce();
+ expect(repositoryVersionDao.findByPK(anyLong())).andReturn(repoVersion).atLeastOnce();
+
+ expect(repositoryVersionDao.findByStackNameAndVersion(anyString(), anyString())).andReturn(
+ repoVersion).atLeastOnce();
replay(clusters, cluster, repositoryVersionDao, repoVersion, repoXml);
AbstractCheckDescriptor check = new TestCheckImpl(PrereqCheckType.SERVICE);
PrereqCheckRequest request = new PrereqCheckRequest(clusterName, UpgradeType.ROLLING);
- request.setTargetStackId(new StackId("HDP-2.5"));
+ request.setTargetRepositoryVersion(repoVersion);
List<String> allServicesList = Arrays.asList("SERVICE1", "SERVICE2");
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/AtlasPresenceCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/AtlasPresenceCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/AtlasPresenceCheckTest.java
index 6cb4e2e..dca14ab 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/AtlasPresenceCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/AtlasPresenceCheckTest.java
@@ -20,9 +20,11 @@ package org.apache.ambari.server.checks;
import static org.junit.Assert.assertEquals;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Test;
+import org.mockito.Mockito;
public class AtlasPresenceCheckTest {
@@ -32,7 +34,7 @@ public class AtlasPresenceCheckTest {
public void perform() throws Exception {
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("2.5.0.0");
+ request.setTargetRepositoryVersion(Mockito.mock(RepositoryVersionEntity.class));
m_check.perform(check, request);
assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/ClientRetryPropertyCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ClientRetryPropertyCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ClientRetryPropertyCheckTest.java
index 05a3c11..46a00b8 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ClientRetryPropertyCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ClientRetryPropertyCheckTest.java
@@ -22,11 +22,14 @@ import java.util.Map;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
import org.apache.ambari.server.state.DesiredConfig;
import org.apache.ambari.server.state.Service;
+import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
@@ -44,6 +47,10 @@ public class ClientRetryPropertyCheckTest {
private final ClientRetryPropertyCheck m_check = new ClientRetryPropertyCheck();
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+ private final RepositoryVersionDAO repositoryVersionDAO = Mockito.mock(
+ RepositoryVersionDAO.class);
+
/**
*
*/
@@ -58,6 +65,9 @@ public class ClientRetryPropertyCheckTest {
};
Configuration config = Mockito.mock(Configuration.class);
m_check.config = config;
+
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.3.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.3"));
}
/**
@@ -73,11 +83,21 @@ public class ClientRetryPropertyCheckTest {
Mockito.when(cluster.getServices()).thenReturn(services);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("2.3.0.0");
+ request.setTargetRepositoryVersion(m_repositoryVersion);
// nothing installed
Assert.assertFalse(m_check.isApplicable(request));
+ m_check.repositoryVersionDaoProvider = new Provider<RepositoryVersionDAO>() {
+ @Override
+ public RepositoryVersionDAO get() {
+ return repositoryVersionDAO;
+ }
+ };
+
+ Mockito.when(repositoryVersionDAO.findByStackNameAndVersion(Mockito.anyString(),
+ Mockito.anyString())).thenReturn(m_repositoryVersion);
+
// HDFS installed
services.put("HDFS", Mockito.mock(Service.class));
Assert.assertTrue(m_check.isApplicable(request));
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentsInstallationCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentsInstallationCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentsInstallationCheckTest.java
index 7cdd121..ef833b0 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentsInstallationCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentsInstallationCheckTest.java
@@ -26,6 +26,7 @@ import java.util.Map;
import org.apache.ambari.server.api.services.AmbariMetaInfo;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.orm.models.HostComponentSummary;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
@@ -39,6 +40,7 @@ import org.apache.ambari.server.state.State;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -61,12 +63,22 @@ public class ComponentsInstallationCheckTest {
private final Clusters clusters = Mockito.mock(Clusters.class);
private AmbariMetaInfo ambariMetaInfo = Mockito.mock(AmbariMetaInfo.class);
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
+ /**
+ *
+ */
+ @Before
+ public void setup() {
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.2.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2"));
+ }
+
@Test
public void testIsApplicable() throws Exception {
PrereqCheckRequest checkRequest = new PrereqCheckRequest("c1");
- checkRequest.setRepositoryVersion("HDP-2.2.0.0");
checkRequest.setSourceStackId(new StackId("HDP", "2.2"));
- checkRequest.setTargetStackId(new StackId("HDP", "2.2"));
+ checkRequest.setTargetRepositoryVersion(m_repositoryVersion);
ComponentsInstallationCheck cic = new ComponentsInstallationCheck();
Configuration config = Mockito.mock(Configuration.class);
cic.config = config;
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java
index 1e0405b..df7bd1f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java
@@ -44,6 +44,7 @@ import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mockito;
import com.google.inject.Provider;
//
@@ -61,6 +62,8 @@ public class ConfigurationMergeCheckTest {
private static final StackId stackId_1_0 = new StackId("HDP-1.0");
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
@Before
public void before() throws Exception {
Cluster cluster = EasyMock.createMock(Cluster.class);
@@ -79,6 +82,9 @@ public class ConfigurationMergeCheckTest {
expect(cluster.getDesiredConfigByType(CONFIG_TYPE)).andReturn(config).anyTimes();
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("1.1.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "1.1"));
+
replay(clusters, cluster, config);
}
@@ -86,7 +92,7 @@ public class ConfigurationMergeCheckTest {
public void testApplicable() throws Exception {
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setTargetStackId(stackId_1_0);
+ request.setTargetRepositoryVersion(m_repositoryVersion);
ConfigurationMergeCheck cmc = new ConfigurationMergeCheck();
Configuration config = EasyMock.createMock(Configuration.class);
@@ -102,7 +108,7 @@ public class ConfigurationMergeCheckTest {
final RepositoryVersionDAO repositoryVersionDAO = EasyMock.createMock(RepositoryVersionDAO.class);
expect(repositoryVersionDAO.findByStackNameAndVersion("HDP", "1.0")).andReturn(createFor("1.0")).anyTimes();
- expect(repositoryVersionDAO.findByStackNameAndVersion("HDP", "1.1")).andReturn(createFor("1.1")).anyTimes();
+ expect(repositoryVersionDAO.findByStackNameAndVersion("HDP", "1.1.0.0-1234")).andReturn(createFor("1.1")).anyTimes();
replay(repositoryVersionDAO);
@@ -159,8 +165,7 @@ public class ConfigurationMergeCheckTest {
replay(ami);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setTargetStackId(stackId_1_0);
- request.setRepositoryVersion("1.1");
+ request.setTargetRepositoryVersion(m_repositoryVersion);
PrerequisiteCheck check = new PrerequisiteCheck(null, "cluster");
cmc.perform(check, request);
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveDynamicServiceDiscoveryCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveDynamicServiceDiscoveryCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveDynamicServiceDiscoveryCheckTest.java
index 15e3c6d..14fab7c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveDynamicServiceDiscoveryCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveDynamicServiceDiscoveryCheckTest.java
@@ -22,6 +22,7 @@ import java.util.Map;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
@@ -45,6 +46,8 @@ public class HiveDynamicServiceDiscoveryCheckTest {
private final HiveDynamicServiceDiscoveryCheck m_check = new HiveDynamicServiceDiscoveryCheck();
+ final RepositoryVersionEntity repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
/**
*
*/
@@ -90,25 +93,37 @@ public class HiveDynamicServiceDiscoveryCheckTest {
// Check HDP-2.2.x => HDP-2.2.y
request.setSourceStackId(new StackId("HDP-2.2.4.2"));
- request.setTargetStackId(new StackId("HDP-2.2.8.4"));
+
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("2.2.8.4");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2.8.4"));
+ request.setTargetRepositoryVersion(repositoryVersion);
+
m_check.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.WARNING, check.getStatus());
// Check HDP-2.2.x => HDP-2.3.y
request.setSourceStackId(new StackId("HDP-2.2.4.2"));
- request.setTargetStackId(new StackId("HDP-2.3.8.4"));
+
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("2.3.8.4");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.3.8.4"));
+ request.setTargetRepositoryVersion(repositoryVersion);
+
m_check.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
// Check HDP-2.3.x => HDP-2.3.y
request.setSourceStackId(new StackId("HDP-2.3.4.2"));
- request.setTargetStackId(new StackId("HDP-2.3.8.4"));
+ request.setTargetRepositoryVersion(repositoryVersion);
m_check.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
// Check HDP-2.3.x => HDP-2.4.y
request.setSourceStackId(new StackId("HDP-2.3.4.2"));
- request.setTargetStackId(new StackId("HDP-2.4.8.4"));
+
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("2.4.8.4");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.4.8.4"));
+ request.setTargetRepositoryVersion(repositoryVersion);
+
m_check.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveMultipleMetastoreCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveMultipleMetastoreCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveMultipleMetastoreCheckTest.java
index dafc15f..7a6748b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveMultipleMetastoreCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/HiveMultipleMetastoreCheckTest.java
@@ -23,11 +23,14 @@ import java.util.Map;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.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.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
@@ -43,6 +46,10 @@ import com.google.inject.Provider;
public class HiveMultipleMetastoreCheckTest {
private final Clusters m_clusters = Mockito.mock(Clusters.class);
private final HiveMultipleMetastoreCheck m_check = new HiveMultipleMetastoreCheck();
+ private final RepositoryVersionDAO repositoryVersionDAO = Mockito.mock(
+ RepositoryVersionDAO.class);
+
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
/**
*
@@ -58,6 +65,9 @@ public class HiveMultipleMetastoreCheckTest {
};
Configuration config = Mockito.mock(Configuration.class);
m_check.config = config;
+
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("1.0.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "1.0"));
}
/**
@@ -77,7 +87,7 @@ public class HiveMultipleMetastoreCheckTest {
services.put("HDFS", Mockito.mock(Service.class));
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("2.3.0.0");
+ request.setTargetRepositoryVersion(m_repositoryVersion);
// HIVE not installed
Assert.assertFalse(m_check.isApplicable(request));
@@ -85,6 +95,16 @@ public class HiveMultipleMetastoreCheckTest {
// install HIVE
services.put("HIVE", Mockito.mock(Service.class));
+ m_check.repositoryVersionDaoProvider = new Provider<RepositoryVersionDAO>() {
+ @Override
+ public RepositoryVersionDAO get() {
+ return repositoryVersionDAO;
+ }
+ };
+
+ Mockito.when(repositoryVersionDAO.findByStackNameAndVersion(Mockito.anyString(),
+ Mockito.anyString())).thenReturn(m_repositoryVersion);
+
// HIVE installed
Assert.assertTrue(m_check.isApplicable(request));
}
@@ -112,7 +132,7 @@ public class HiveMultipleMetastoreCheckTest {
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("2.3.0.0");
+ request.setTargetRepositoryVersion(m_repositoryVersion);
m_check.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.WARNING, check.getStatus());
@@ -144,7 +164,7 @@ public class HiveMultipleMetastoreCheckTest {
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("2.3.0.0");
+ request.setTargetRepositoryVersion(m_repositoryVersion);
m_check.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.WARNING, check.getStatus());
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsHeartbeatCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsHeartbeatCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsHeartbeatCheckTest.java
index cc2c276..a15f9c1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsHeartbeatCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsHeartbeatCheckTest.java
@@ -22,6 +22,7 @@ import java.util.List;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Host;
@@ -32,6 +33,7 @@ import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -44,12 +46,22 @@ import com.google.inject.Provider;
public class HostsHeartbeatCheckTest {
private final Clusters clusters = Mockito.mock(Clusters.class);
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
+ /**
+ *
+ */
+ @Before
+ public void setup() {
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.2.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2"));
+ }
+
@Test
public void testIsApplicable() throws Exception {
PrereqCheckRequest checkRequest = new PrereqCheckRequest("c1");
- checkRequest.setRepositoryVersion("HDP-2.2.0.0");
checkRequest.setSourceStackId(new StackId("HDP", "2.2"));
- checkRequest.setTargetStackId(new StackId("HDP", "2.2"));
+ checkRequest.setTargetRepositoryVersion(m_repositoryVersion);
HostsHeartbeatCheck hhc = new HostsHeartbeatCheck();
Configuration config = Mockito.mock(Configuration.class);
hhc.config = config;
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsMasterMaintenanceCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsMasterMaintenanceCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsMasterMaintenanceCheckTest.java
index 1e87146..6399166 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsMasterMaintenanceCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsMasterMaintenanceCheckTest.java
@@ -24,6 +24,7 @@ import org.apache.ambari.server.api.services.AmbariMetaInfo;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Host;
@@ -51,19 +52,29 @@ public class HostsMasterMaintenanceCheckTest {
private final RepositoryVersionHelper repositoryVersionHelper = Mockito.mock(RepositoryVersionHelper.class);
private final AmbariMetaInfo ambariMetaInfo = Mockito.mock(AmbariMetaInfo.class);
+ final RepositoryVersionEntity repositoryVersion = Mockito.mock(
+ RepositoryVersionEntity.class);
+
@Test
public void testIsApplicable() throws Exception {
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("1.0.0.0-1234");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "1.0"));
+
final PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("not null");
+ request.setTargetRepositoryVersion(repositoryVersion);
HostsMasterMaintenanceCheck hmmc = new HostsMasterMaintenanceCheck();
Configuration config = Mockito.mock(Configuration.class);
hmmc.config = config;
Assert.assertTrue(hmmc.isApplicable(request));
Assert.assertTrue(new HostsMasterMaintenanceCheck().isApplicable(request));
+
HostsMasterMaintenanceCheck hmmc2 = new HostsMasterMaintenanceCheck();
hmmc2.config = config;
Assert.assertTrue(hmmc2.isApplicable(request));
- request.setRepositoryVersion(null);
+ request.setTargetRepositoryVersion(repositoryVersion);
+
+ // reset the mock
+ Mockito.reset(repositoryVersion);
hmmc2.config = config;
Assert.assertFalse(hmmc2.isApplicable(request));
@@ -71,6 +82,9 @@ public class HostsMasterMaintenanceCheckTest {
@Test
public void testPerform() throws Exception {
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("1.0.0.0-1234");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "1.0"));
+
final String upgradePackName = "upgrade_pack";
final HostsMasterMaintenanceCheck hostsMasterMaintenanceCheck = new HostsMasterMaintenanceCheck();
hostsMasterMaintenanceCheck.clustersProvider = new Provider<Clusters>() {
@@ -108,6 +122,7 @@ public class HostsMasterMaintenanceCheckTest {
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
request.setSourceStackId(new StackId("HDP-1.0"));
+ request.setTargetRepositoryVersion(repositoryVersion);
hostsMasterMaintenanceCheck.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
@@ -115,6 +130,10 @@ public class HostsMasterMaintenanceCheckTest {
Mockito.when(ambariMetaInfo.getUpgradePacks(Mockito.anyString(), Mockito.anyString())).thenReturn(new HashMap<String, UpgradePack>());
check = new PrerequisiteCheck(null, null);
+ request = new PrereqCheckRequest("cluster");
+ request.setSourceStackId(new StackId("HDP-1.0"));
+ request.setTargetRepositoryVersion(repositoryVersion);
+
hostsMasterMaintenanceCheck.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
@@ -128,6 +147,10 @@ public class HostsMasterMaintenanceCheckTest {
Mockito.when(clusters.getHostsForCluster(Mockito.anyString())).thenReturn(new HashMap<String, Host>());
check = new PrerequisiteCheck(null, null);
+ request = new PrereqCheckRequest("cluster");
+ request.setSourceStackId(new StackId("HDP-1.0"));
+ request.setTargetRepositoryVersion(repositoryVersion);
+
hostsMasterMaintenanceCheck.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.PASS, check.getStatus());
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
index 4446cc4..67e8dfa 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
@@ -37,6 +37,7 @@ import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -51,10 +52,18 @@ public class HostsRepositoryVersionCheckTest {
private final HostVersionDAO hostVersionDAO = Mockito.mock(HostVersionDAO.class);
private final RepositoryVersionDAO repositoryVersionDAO = Mockito.mock(RepositoryVersionDAO.class);
+ final RepositoryVersionEntity repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
+ @Before
+ public void setup() {
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("1.0.0.0-1234");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "1.0"));
+ }
+
@Test
public void testIsApplicable() throws Exception {
final PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("not null");
+ request.setTargetRepositoryVersion(repositoryVersion);
HostsRepositoryVersionCheck hrvc = new HostsRepositoryVersionCheck();
Configuration config = Mockito.mock(Configuration.class);
hrvc.config = config;
@@ -63,7 +72,9 @@ public class HostsRepositoryVersionCheckTest {
HostsRepositoryVersionCheck hrvc2 = new HostsRepositoryVersionCheck();
hrvc2.config = config;
Assert.assertTrue(hrvc2.isApplicable(request));
- request.setRepositoryVersion(null);
+
+ Mockito.reset(repositoryVersion);
+ request.setTargetRepositoryVersion(repositoryVersion);
HostsMasterMaintenanceCheck hmmc2 = new HostsMasterMaintenanceCheck();
hmmc2.config = config;
@@ -119,7 +130,10 @@ public class HostsRepositoryVersionCheckTest {
null);
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
- hostsRepositoryVersionCheck.perform(check, new PrereqCheckRequest("cluster"));
+ PrereqCheckRequest checkRequest = new PrereqCheckRequest("cluster");
+ checkRequest.setTargetRepositoryVersion(repositoryVersion);
+
+ hostsRepositoryVersionCheck.perform(check, checkRequest);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
StackEntity stackEntity = new StackEntity();
@@ -146,7 +160,10 @@ public class HostsRepositoryVersionCheckTest {
Mockito.anyString())).thenReturn(hostVersion);
check = new PrerequisiteCheck(null, null);
- hostsRepositoryVersionCheck.perform(check, new PrereqCheckRequest("cluster"));
+ checkRequest = new PrereqCheckRequest("cluster");
+ checkRequest.setTargetRepositoryVersion(repositoryVersion);
+
+ hostsRepositoryVersionCheck.perform(check, checkRequest);
Assert.assertEquals(PrereqCheckStatus.PASS, check.getStatus());
}
@@ -189,11 +206,8 @@ public class HostsRepositoryVersionCheckTest {
hosts.put("host3", host3);
Mockito.when(clusters.getHostsForCluster("cluster")).thenReturn(hosts);
- RepositoryVersionEntity rve = new RepositoryVersionEntity();
- rve.setVersion("1.1.1");
-
HostVersionEntity hve = new HostVersionEntity();
- hve.setRepositoryVersion(rve);
+ hve.setRepositoryVersion(repositoryVersion);
hve.setState(RepositoryVersionState.INSTALLED);
Mockito.when(
@@ -202,7 +216,8 @@ public class HostsRepositoryVersionCheckTest {
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("1.1.1");
+ request.setTargetRepositoryVersion(repositoryVersion);
+
hostsRepositoryVersionCheck.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.PASS, check.getStatus());
}
@@ -246,11 +261,8 @@ public class HostsRepositoryVersionCheckTest {
hosts.put("host3", host3);
Mockito.when(clusters.getHostsForCluster("cluster")).thenReturn(hosts);
- RepositoryVersionEntity rve = new RepositoryVersionEntity();
- rve.setVersion("1.1.1");
-
HostVersionEntity hve = new HostVersionEntity();
- hve.setRepositoryVersion(rve);
+ hve.setRepositoryVersion(repositoryVersion);
hve.setState(RepositoryVersionState.NOT_REQUIRED);
Mockito.when(
@@ -259,7 +271,7 @@ public class HostsRepositoryVersionCheckTest {
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("1.1.1");
+ request.setTargetRepositoryVersion(repositoryVersion);
hostsRepositoryVersionCheck.perform(check, request);
Assert.assertEquals(PrereqCheckStatus.PASS, check.getStatus());
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/InstallPackagesCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/InstallPackagesCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/InstallPackagesCheckTest.java
index 986a0f1..9d623ec 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/InstallPackagesCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/InstallPackagesCheckTest.java
@@ -39,6 +39,7 @@ import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -65,12 +66,22 @@ public class InstallPackagesCheckTest {
private String repositoryVersion = "2.2.6.0-1234";
private String clusterName = "cluster";
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
+ /**
+ *
+ */
+ @Before
+ public void setup() {
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn(repositoryVersion);
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(targetStackId);
+ }
+
@Test
public void testIsApplicable() throws Exception {
PrereqCheckRequest checkRequest = new PrereqCheckRequest(clusterName);
- checkRequest.setRepositoryVersion(repositoryVersion);
checkRequest.setSourceStackId(sourceStackId);
- checkRequest.setTargetStackId(targetStackId);
+ checkRequest.setTargetRepositoryVersion(m_repositoryVersion);
InstallPackagesCheck ipc = new InstallPackagesCheck();
Configuration config = Mockito.mock(Configuration.class);
ipc.config = config;
@@ -144,9 +155,8 @@ public class InstallPackagesCheckTest {
Mockito.when(cluster.getHosts()).thenReturn(hosts);
PrereqCheckRequest checkRequest = new PrereqCheckRequest(clusterName);
- checkRequest.setRepositoryVersion(repositoryVersion);
checkRequest.setSourceStackId(sourceStackId);
- checkRequest.setTargetStackId(targetStackId);
+ checkRequest.setTargetRepositoryVersion(m_repositoryVersion);
// Case 1. Initialize with good values
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/MapReduce2JobHistoryStatePreservingCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/MapReduce2JobHistoryStatePreservingCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/MapReduce2JobHistoryStatePreservingCheckTest.java
index 016bdd08..32ecc26 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/MapReduce2JobHistoryStatePreservingCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/MapReduce2JobHistoryStatePreservingCheckTest.java
@@ -49,6 +49,8 @@ public class MapReduce2JobHistoryStatePreservingCheckTest {
private final MapReduce2JobHistoryStatePreservingCheck m_check = new MapReduce2JobHistoryStatePreservingCheck();
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
/**
*
*/
@@ -75,6 +77,9 @@ public class MapReduce2JobHistoryStatePreservingCheckTest {
RepositoryVersionEntity rve = Mockito.mock(RepositoryVersionEntity.class);
Mockito.when(rve.getType()).thenReturn(RepositoryType.STANDARD);
Mockito.when(m_repositoryVersionDao.findByStackNameAndVersion(Mockito.anyString(), Mockito.anyString())).thenReturn(rve);
+
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.3.1.1-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.3"));
}
/**
@@ -91,8 +96,8 @@ public class MapReduce2JobHistoryStatePreservingCheckTest {
Mockito.when(cluster.getServices()).thenReturn(services);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setTargetStackId(new StackId("HDP", "2.3.1.1"));
request.setSourceStackId(new StackId("HDP", "2.3.0.0"));
+ request.setTargetRepositoryVersion(m_repositoryVersion);
// MAPREDUCE2 not installed
Assert.assertFalse(m_check.isApplicable(request));
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/PreviousUpgradeCompletedTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/PreviousUpgradeCompletedTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/PreviousUpgradeCompletedTest.java
index 3233e55..a6bdc96 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/PreviousUpgradeCompletedTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/PreviousUpgradeCompletedTest.java
@@ -44,7 +44,6 @@ public class PreviousUpgradeCompletedTest {
private final Cluster cluster = Mockito.mock(Cluster.class);
private StackId sourceStackId = new StackId("HDP", "2.2");
private StackId targetStackId = new StackId("HDP", "2.2");
- private String sourceRepositoryVersion = "2.2.6.0-1234";
private String destRepositoryVersion = "2.2.8.0-5678";
private String clusterName = "cluster";
private PrereqCheckRequest checkRequest = new PrereqCheckRequest(clusterName);
@@ -67,9 +66,12 @@ public class PreviousUpgradeCompletedTest {
stack.setStackName(stackId.getStackName());
stack.setStackVersion(stackId.getStackVersion());
- checkRequest.setRepositoryVersion(sourceRepositoryVersion);
+ toRepsitoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+ Mockito.when(toRepsitoryVersion.getVersion()).thenReturn(destRepositoryVersion);
+ Mockito.when(toRepsitoryVersion.getStackId()).thenReturn(targetStackId);
+
checkRequest.setSourceStackId(sourceStackId);
- checkRequest.setTargetStackId(targetStackId);
+ checkRequest.setTargetRepositoryVersion(toRepsitoryVersion);
puc.clustersProvider = new Provider<Clusters>() {
@Override
@@ -77,9 +79,6 @@ public class PreviousUpgradeCompletedTest {
return clusters;
}
};
-
- toRepsitoryVersion = Mockito.mock(RepositoryVersionEntity.class);
- Mockito.when(toRepsitoryVersion.getVersion()).thenReturn(destRepositoryVersion);
}
@Test
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicePresenceCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicePresenceCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicePresenceCheckTest.java
index ed2fcb9..55c622e 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicePresenceCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicePresenceCheckTest.java
@@ -21,9 +21,11 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Service;
+import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.apache.ambari.server.state.stack.UpgradePack.PrerequisiteCheckConfig;
@@ -42,6 +44,8 @@ public class ServicePresenceCheckTest {
private final ServicePresenceCheck m_check = new ServicePresenceCheck();
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
/**
*
*/
@@ -54,6 +58,9 @@ public class ServicePresenceCheckTest {
return m_clusters;
}
};
+
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.5.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.5"));
}
@Test
@@ -74,7 +81,7 @@ public class ServicePresenceCheckTest {
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("2.5.0.0");
+ request.setTargetRepositoryVersion(m_repositoryVersion);
request.setPrerequisiteCheckConfig(prerequisiteCheckConfig);
m_check.perform(check, request);
@@ -138,12 +145,12 @@ public class ServicePresenceCheckTest {
Mockito.when(cluster.getClusterId()).thenReturn(1L);
Mockito.when(m_clusters.getCluster("cluster")).thenReturn(cluster);
- Map<String, Service> services = new HashMap<String, Service>();
+ Map<String, Service> services = new HashMap<>();
services.put("ATLAS", Mockito.mock(Service.class));
services.put("OLDSERVICE", Mockito.mock(Service.class));
Mockito.when(cluster.getServices()).thenReturn(services);
- Map<String, String> checkProperties = new HashMap<String, String>();
+ Map<String, String> checkProperties = new HashMap<>();
checkProperties.put(ServicePresenceCheck.REMOVED_SERVICES_PROPERTY_NAME,"OldService");
PrerequisiteCheckConfig prerequisiteCheckConfig = Mockito.mock(PrerequisiteCheckConfig.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesMaintenanceModeCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesMaintenanceModeCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesMaintenanceModeCheckTest.java
index a941b7a..636cafe 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesMaintenanceModeCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesMaintenanceModeCheckTest.java
@@ -22,6 +22,7 @@ import java.util.Collections;
import org.apache.ambari.server.api.services.AmbariMetaInfo;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Service;
@@ -30,6 +31,7 @@ import org.apache.ambari.server.state.State;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
@@ -42,12 +44,22 @@ import com.google.inject.Provider;
public class ServicesMaintenanceModeCheckTest {
private final Clusters clusters = Mockito.mock(Clusters.class);
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
+ /**
+ *
+ */
+ @Before
+ public void setup() {
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.2.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2"));
+ }
+
@Test
public void testIsApplicable() throws Exception {
PrereqCheckRequest checkRequest = new PrereqCheckRequest("c1");
- checkRequest.setRepositoryVersion("HDP-2.2.0.0");
checkRequest.setSourceStackId(new StackId("HDP", "2.2"));
- checkRequest.setTargetStackId(new StackId("HDP", "2.2"));
+ checkRequest.setTargetRepositoryVersion(m_repositoryVersion);
ServicesMaintenanceModeCheck smmc = new ServicesMaintenanceModeCheck();
Configuration config = Mockito.mock(Configuration.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesNamenodeTruncateCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesNamenodeTruncateCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesNamenodeTruncateCheckTest.java
index ca71e3f..d0aad2f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesNamenodeTruncateCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesNamenodeTruncateCheckTest.java
@@ -56,6 +56,8 @@ public class ServicesNamenodeTruncateCheckTest {
private final Map<String, String> m_configMap = new HashMap<>();
private RepositoryVersionDAO m_repositoryVersionDAO = EasyMock.createMock(RepositoryVersionDAO.class);
+ final RepositoryVersionEntity repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
@Before
public void setup() throws Exception {
Cluster cluster = EasyMock.createMock(Cluster.class);
@@ -97,6 +99,8 @@ public class ServicesNamenodeTruncateCheckTest {
expect(m_repositoryVersionDAO.findByStackNameAndVersion(EasyMock.anyString(), EasyMock.anyString())).andReturn(rve).anyTimes();
replay(m_repositoryVersionDAO, rve);
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("HDP-2.2.0.0");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2.0"));
}
@@ -104,9 +108,8 @@ public class ServicesNamenodeTruncateCheckTest {
public void testIsApplicable() throws Exception {
PrereqCheckRequest checkRequest = new PrereqCheckRequest("c1");
- checkRequest.setRepositoryVersion("HDP-2.2.0.0");
checkRequest.setSourceStackId(new StackId("HDP", "2.2"));
- checkRequest.setTargetStackId(new StackId("HDP", "2.2"));
+ checkRequest.setTargetRepositoryVersion(repositoryVersion);
Assert.assertTrue(m_check.isApplicable(checkRequest));
}
@@ -121,7 +124,11 @@ public class ServicesNamenodeTruncateCheckTest {
// Check HDP-2.2.x => HDP-2.2.y is FAIL
m_configMap.put("dfs.allow.truncate", "true");
request.setSourceStackId(new StackId("HDP-2.2.4.2"));
- request.setTargetStackId(new StackId("HDP-2.2.8.4"));
+
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("2.2.8.4");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2.8.4"));
+ request.setTargetRepositoryVersion(repositoryVersion);
+
check = new PrerequisiteCheck(null, null);
m_check.perform(check, request);
assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
@@ -134,7 +141,11 @@ public class ServicesNamenodeTruncateCheckTest {
// Check HDP-2.2.x => HDP-2.3.y is FAIL
m_configMap.put("dfs.allow.truncate", "true");
request.setSourceStackId(new StackId("HDP-2.2.4.2"));
- request.setTargetStackId(new StackId("HDP-2.3.8.4"));
+
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("2.3.8.4");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.3.8.4"));
+ request.setTargetRepositoryVersion(repositoryVersion);
+
check = new PrerequisiteCheck(null, null);
m_check.perform(check, request);
assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesUpCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesUpCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesUpCheckTest.java
index 45c24d3..ba0f701 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesUpCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesUpCheckTest.java
@@ -26,6 +26,7 @@ import java.util.Map;
import org.apache.ambari.server.api.services.AmbariMetaInfo;
import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.controller.PrereqCheckRequest;
+import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
import org.apache.ambari.server.orm.models.HostComponentSummary;
import org.apache.ambari.server.state.Cluster;
import org.apache.ambari.server.state.Clusters;
@@ -39,6 +40,7 @@ import org.apache.ambari.server.state.State;
import org.apache.ambari.server.state.stack.PrereqCheckStatus;
import org.apache.ambari.server.state.stack.PrerequisiteCheck;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -61,12 +63,23 @@ public class ServicesUpCheckTest {
private final Clusters clusters = Mockito.mock(Clusters.class);
private AmbariMetaInfo ambariMetaInfo = Mockito.mock(AmbariMetaInfo.class);
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
+ /**
+ *
+ */
+ @Before
+ public void setup() {
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.2.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2"));
+ }
+
@Test
public void testIsApplicable() throws Exception {
PrereqCheckRequest checkRequest = new PrereqCheckRequest("c1");
- checkRequest.setRepositoryVersion("HDP-2.2.0.0");
checkRequest.setSourceStackId(new StackId("HDP", "2.2"));
- checkRequest.setTargetStackId(new StackId("HDP", "2.2"));
+ checkRequest.setTargetRepositoryVersion(m_repositoryVersion);
+
ServicesUpCheck suc = new ServicesUpCheck();
Configuration config = Mockito.mock(Configuration.class);
suc.config = config;
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/checks/YarnTimelineServerStatePreservingCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/YarnTimelineServerStatePreservingCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/YarnTimelineServerStatePreservingCheckTest.java
index 5c423b5..5cb666b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/YarnTimelineServerStatePreservingCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/YarnTimelineServerStatePreservingCheckTest.java
@@ -50,6 +50,8 @@ public class YarnTimelineServerStatePreservingCheckTest {
private final YarnTimelineServerStatePreservingCheck m_check = new YarnTimelineServerStatePreservingCheck();
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
/**
*
*/
@@ -64,6 +66,9 @@ public class YarnTimelineServerStatePreservingCheckTest {
};
Configuration config = Mockito.mock(Configuration.class);
m_check.config = config;
+
+ Mockito.when(m_repositoryVersion.getVersion()).thenReturn("2.3.0.0-1234");
+ Mockito.when(m_repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.3"));
}
/**
@@ -89,7 +94,7 @@ public class YarnTimelineServerStatePreservingCheckTest {
m_check.getClass().getName())).thenReturn(checkProperties);
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
- request.setRepositoryVersion("2.3.0.0");
+ request.setTargetRepositoryVersion(m_repositoryVersion);
request.setPrerequisiteCheckConfig(prerequisiteCheckConfig);
// YARN not installed
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java
index 2a48fa6..3de20e4 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProviderTest.java
@@ -121,9 +121,9 @@ public class PreUpgradeCheckResourceProviderTest {
expect(targetStackId.getStackName()).andReturn("Stack100").anyTimes();
expect(targetStackId.getStackVersion()).andReturn("1.1").anyTimes();
- expect(repoDao.findByStackNameAndVersion("Stack100", "Repo100")).andReturn(repo).anyTimes();
+ expect(repoDao.findByPK(1L)).andReturn(repo).anyTimes();
expect(repo.getStackId()).andReturn(targetStackId).atLeastOnce();
- expect(upgradeHelper.suggestUpgradePack("Cluster100", "1.0", "Repo100", Direction.UPGRADE, UpgradeType.NON_ROLLING, "upgrade_pack11")).andReturn(upgradePack);
+ expect(upgradeHelper.suggestUpgradePack("Cluster100", currentStackId, targetStackId, Direction.UPGRADE, UpgradeType.NON_ROLLING, "upgrade_pack11")).andReturn(upgradePack);
List<AbstractCheckDescriptor> upgradeChecksToRun = new LinkedList<>();
List<String> prerequisiteChecks = new LinkedList<>();
@@ -147,7 +147,7 @@ public class PreUpgradeCheckResourceProviderTest {
Predicate predicate = builder.property(PreUpgradeCheckResourceProvider.UPGRADE_CHECK_CLUSTER_NAME_PROPERTY_ID).equals("Cluster100").and()
.property(PreUpgradeCheckResourceProvider.UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID).equals("upgrade_pack11").and()
.property(PreUpgradeCheckResourceProvider.UPGRADE_CHECK_UPGRADE_TYPE_PROPERTY_ID).equals(UpgradeType.NON_ROLLING).and()
- .property(PreUpgradeCheckResourceProvider.UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID).equals("Repo100").toPredicate();
+ .property(PreUpgradeCheckResourceProvider.UPGRADE_CHECK_TARGET_REPOSITORY_VERSION_ID_ID).equals("1").toPredicate();
System.out.println("PreUpgradeCheckResourceProvider - " + provider);
http://git-wip-us.apache.org/repos/asf/ambari/blob/d77bde7f/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java
index 921322b..aa81614 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java
@@ -191,15 +191,15 @@ public class UpgradeHelperTest extends EasyMockSupport {
@Test
public void testSuggestUpgradePack() throws Exception{
final String clusterName = "c1";
- final String upgradeFromVersion = "2.1.1";
- final String upgradeToVersion = "2.2.0";
+ final StackId sourceStackId = new StackId("HDP", "2.1.1");
+ final StackId targetStackId = new StackId("HDP", "2.2.0");
final Direction upgradeDirection = Direction.UPGRADE;
final UpgradeType upgradeType = UpgradeType.ROLLING;
makeCluster();
try {
String preferredUpgradePackName = "upgrade_test";
- UpgradePack up = m_upgradeHelper.suggestUpgradePack(clusterName, upgradeFromVersion, upgradeToVersion, upgradeDirection, upgradeType, preferredUpgradePackName);
+ UpgradePack up = m_upgradeHelper.suggestUpgradePack(clusterName, sourceStackId, targetStackId, upgradeDirection, upgradeType, preferredUpgradePackName);
assertEquals(upgradeType, up.getType());
} catch (AmbariException e){
assertTrue(false);
@@ -1734,8 +1734,8 @@ public class UpgradeHelperTest extends EasyMockSupport {
@Test
public void testRollingUpgradesCanUseAdvancedGroupings() throws Exception {
final String clusterName = "c1";
- final String upgradeFromVersion = "2.1.1";
- final String upgradeToVersion = "2.2.0";
+ final StackId sourceStackId = new StackId("HDP", "2.1.1");
+ final StackId targetStackId = new StackId("HDP", "2.2.0");
final Direction upgradeDirection = Direction.UPGRADE;
final UpgradeType upgradeType = UpgradeType.ROLLING;
@@ -1743,8 +1743,8 @@ public class UpgradeHelperTest extends EasyMockSupport {
// grab the right pack
String preferredUpgradePackName = "upgrade_grouping_rolling";
- UpgradePack upgradePack = m_upgradeHelper.suggestUpgradePack(clusterName, upgradeFromVersion,
- upgradeToVersion, upgradeDirection, upgradeType, preferredUpgradePackName);
+ UpgradePack upgradePack = m_upgradeHelper.suggestUpgradePack(clusterName, sourceStackId,
+ targetStackId, upgradeDirection, upgradeType, preferredUpgradePackName);
assertEquals(upgradeType, upgradePack.getType());