You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2017/07/22 03:49:02 UTC
[2/2] 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/eb598e85
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/eb598e85
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/eb598e85
Branch: refs/heads/branch-feature-AMBARI-21450
Commit: eb598e8557c631b7eb4a21a6224e9aa9009942d3
Parents: 348f44e
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:48:29 2017 -0400
----------------------------------------------------------------------
.../server/controller/PrereqCheckRequest.java | 22 +++----
.../PreUpgradeCheckResourceProvider.java | 67 ++++++++++++--------
.../ambari/server/state/UpgradeContext.java | 17 ++---
.../ambari/server/state/UpgradeHelper.java | 59 +++++++++--------
.../server/checks/AtlasPresenceCheckTest.java | 8 ++-
.../checks/ClientRetryPropertyCheckTest.java | 17 +++--
.../checks/ComponentExistsInRepoCheckTest.java | 19 ++++--
.../checks/ComponentsInstallationCheckTest.java | 28 +++++---
.../checks/ConfigurationMergeCheckTest.java | 15 +++--
.../HiveDynamicServiceDiscoveryCheckTest.java | 29 +++++++--
.../checks/HiveMultipleMetastoreCheckTest.java | 21 ++++--
.../server/checks/HostsHeartbeatCheckTest.java | 16 ++++-
.../checks/HostsMasterMaintenanceCheckTest.java | 35 ++++++++--
.../checks/HostsRepositoryVersionCheckTest.java | 46 +++++++++-----
.../server/checks/InstallPackagesCheckTest.java | 18 ++++--
...duce2JobHistoryStatePreservingCheckTest.java | 7 +-
.../checks/PreviousUpgradeCompletedTest.java | 11 ++--
.../server/checks/ServicePresenceCheckTest.java | 31 +++++----
.../ServicesMaintenanceModeCheckTest.java | 16 ++++-
.../ServicesNamenodeTruncateCheckTest.java | 26 ++++++--
.../server/checks/ServicesUpCheckTest.java | 27 ++++++--
...nTimelineServerStatePreservingCheckTest.java | 7 +-
.../PreUpgradeCheckResourceProviderTest.java | 6 +-
.../ambari/server/state/UpgradeHelperTest.java | 14 ++--
24 files changed, 365 insertions(+), 197 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/eb598e85/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 f80c16a..e501bb8 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,7 @@ public class PrereqCheckRequest {
}
public String getRepositoryVersion() {
- return m_repositoryVersion;
- }
-
- public void setRepositoryVersion(String repositoryVersion) {
- m_repositoryVersion = repositoryVersion;
+ return m_targetRepositoryVersion.getVersion();
}
/**
@@ -115,17 +111,17 @@ public class PrereqCheckRequest {
* @return the targetStackId
*/
public StackId getTargetStackId() {
- return m_targetStackId;
+ 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/eb598e85/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 7b03912..8a10fb7 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,12 +47,14 @@ 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.BooleanUtils;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -69,20 +71,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");
public static final String UPGRADE_CHECK_FOR_REVERT_PROPERTY_ID = PropertyHelper.getPropertyId("UpgradeChecks", "for_revert");
@Inject
@@ -115,8 +118,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_TARGET_REPOSITORY_VERSION_ID_ID,
UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID,
- UPGRADE_CHECK_REPOSITORY_VERSION_PROPERTY_ID,
UPGRADE_CHECK_FOR_REVERT_PROPERTY_ID);
@@ -165,19 +168,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 pre-requisite 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);
if (propertyMap.containsKey(UPGRADE_CHECK_FOR_REVERT_PROPERTY_ID)) {
Boolean forRevert = BooleanUtils.toBooleanObject(propertyMap.get(UPGRADE_CHECK_FOR_REVERT_PROPERTY_ID).toString());
@@ -191,8 +200,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);
}
@@ -208,11 +218,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) {
@@ -230,9 +242,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/eb598e85/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 0ab2263..6f469e5 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
@@ -288,8 +288,8 @@ public class UpgradeContext {
if (null == revertUpgrade) {
throw new AmbariException(String.format("Could not find Upgrade with id %s to revert.", revertUpgradeId));
- }
-
+ }
+
if (revertUpgrade.getOrchestration() != RepositoryType.PATCH) {
throw new AmbariException("Can only revert upgrades that have been done as a patch.");
}
@@ -422,12 +422,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);
@@ -1031,16 +1031,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_FOR_REVERT_PROPERTY_ID).equals(m_isRevert).and().property(
PreUpgradeCheckResourceProvider.UPGRADE_CHECK_UPGRADE_TYPE_PROPERTY_ID).equals(type).and().property(
PreUpgradeCheckResourceProvider.UPGRADE_CHECK_UPGRADE_PACK_PROPERTY_ID).equals(preferredUpgradePack).toPredicate();
http://git-wip-us.apache.org/repos/asf/ambari/blob/eb598e85/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/eb598e85/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 c833026..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
@@ -17,12 +17,14 @@
*/
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 static org.junit.Assert.assertEquals;
+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/eb598e85/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 c535978..85774bf 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,13 @@ 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;
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 +46,8 @@ public class ClientRetryPropertyCheckTest {
private final ClientRetryPropertyCheck m_check = new ClientRetryPropertyCheck();
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
/**
*
*/
@@ -58,6 +62,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"));
}
/**
@@ -69,11 +76,11 @@ public class ClientRetryPropertyCheckTest {
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<>();
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));
@@ -94,12 +101,12 @@ public class ClientRetryPropertyCheckTest {
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<>();
Mockito.when(cluster.getServices()).thenReturn(services);
final DesiredConfig desiredConfig = Mockito.mock(DesiredConfig.class);
Mockito.when(desiredConfig.getTag()).thenReturn("tag");
- Map<String, DesiredConfig> configMap = new HashMap<String, DesiredConfig>();
+ Map<String, DesiredConfig> configMap = new HashMap<>();
configMap.put("hdfs-site", desiredConfig);
configMap.put("hive-site", desiredConfig);
configMap.put("oozie-env", desiredConfig);
@@ -107,7 +114,7 @@ public class ClientRetryPropertyCheckTest {
Mockito.when(cluster.getDesiredConfigs()).thenReturn(configMap);
final Config config = Mockito.mock(Config.class);
Mockito.when(cluster.getConfig(Mockito.anyString(), Mockito.anyString())).thenReturn(config);
- final Map<String, String> properties = new HashMap<String, String>();
+ final Map<String, String> properties = new HashMap<>();
Mockito.when(config.getProperties()).thenReturn(properties);
// Add HDFS
http://git-wip-us.apache.org/repos/asf/ambari/blob/eb598e85/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentExistsInRepoCheckTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentExistsInRepoCheckTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentExistsInRepoCheckTest.java
index 76e8cc9..af28619 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentExistsInRepoCheckTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/ComponentExistsInRepoCheckTest.java
@@ -26,6 +26,7 @@ import java.util.Map;
import org.apache.ambari.server.StackAccessException;
import org.apache.ambari.server.api.services.AmbariMetaInfo;
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.ComponentInfo;
@@ -92,6 +93,9 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
@Mock
private ServiceComponent m_zookeeperServer;
+ @Mock
+ private RepositoryVersionEntity m_repositoryVersion;
+
@Before
public void before() throws Exception {
@@ -131,6 +135,9 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
expect(m_ambariMetaInfo.getComponent(TARGET_STACK.getStackName(),
TARGET_STACK.getStackVersion(), "ZOOKEEPER", "ZOOKEEPER_SERVER")).andReturn(
m_zookeeperServerInfo).anyTimes();
+
+ expect(m_repositoryVersion.getStackId()).andReturn(TARGET_STACK).anyTimes();
+ expect(m_repositoryVersion.getVersion()).andReturn("2.2.0").anyTimes();
}
/**
@@ -143,7 +150,7 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
PrerequisiteCheck check = new PrerequisiteCheck(CheckDescription.COMPONENTS_EXIST_IN_TARGET_REPO, "c1");
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
request.setSourceStackId(SOURCE_STACK);
- request.setTargetStackId(TARGET_STACK);
+ request.setTargetRepositoryVersion(m_repositoryVersion);
CLUSTER_SERVICES.put("ZOOKEEPER", m_zookeeperService);
expect(m_zookeeperInfo.isValid()).andReturn(true).atLeastOnce();
@@ -172,7 +179,7 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
PrerequisiteCheck check = new PrerequisiteCheck(CheckDescription.COMPONENTS_EXIST_IN_TARGET_REPO, "c1");
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
request.setSourceStackId(SOURCE_STACK);
- request.setTargetStackId(TARGET_STACK);
+ request.setTargetRepositoryVersion(m_repositoryVersion);
CLUSTER_SERVICES.put("FOO_SERVICE", m_fooService);
@@ -208,7 +215,7 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
PrerequisiteCheck check = new PrerequisiteCheck(CheckDescription.COMPONENTS_EXIST_IN_TARGET_REPO, "c1");
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
request.setSourceStackId(SOURCE_STACK);
- request.setTargetStackId(TARGET_STACK);
+ request.setTargetRepositoryVersion(m_repositoryVersion);
CLUSTER_SERVICES.put("ZOOKEEPER", m_zookeeperService);
expect(m_zookeeperInfo.isValid()).andReturn(true).atLeastOnce();
@@ -234,7 +241,7 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
PrerequisiteCheck check = new PrerequisiteCheck(CheckDescription.COMPONENTS_EXIST_IN_TARGET_REPO, "c1");
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
request.setSourceStackId(SOURCE_STACK);
- request.setTargetStackId(TARGET_STACK);
+ request.setTargetRepositoryVersion(m_repositoryVersion);
CLUSTER_SERVICES.put("ZOOKEEPER", m_zookeeperService);
expect(m_zookeeperInfo.isValid()).andReturn(true).atLeastOnce();
@@ -263,7 +270,7 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
CheckDescription.COMPONENTS_EXIST_IN_TARGET_REPO, "c1");
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
request.setSourceStackId(SOURCE_STACK);
- request.setTargetStackId(TARGET_STACK);
+ request.setTargetRepositoryVersion(m_repositoryVersion);
CLUSTER_SERVICES.put("ZOOKEEPER", m_zookeeperService);
CLUSTER_SERVICES.put("FOO_SERVICE", m_fooService);
@@ -297,7 +304,7 @@ public class ComponentExistsInRepoCheckTest extends EasyMockSupport {
CheckDescription.COMPONENTS_EXIST_IN_TARGET_REPO, "c1");
PrereqCheckRequest request = new PrereqCheckRequest("cluster");
request.setSourceStackId(SOURCE_STACK);
- request.setTargetStackId(TARGET_STACK);
+ request.setTargetRepositoryVersion(m_repositoryVersion);
CLUSTER_SERVICES.put("FOO_SERVICE", m_fooService);
http://git-wip-us.apache.org/repos/asf/ambari/blob/eb598e85/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 450d74e..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;
@@ -106,7 +118,7 @@ public class ComponentsInstallationCheckTest {
Mockito.when(tezService.getMaintenanceState()).thenReturn(MaintenanceState.OFF);
Mockito.when(amsService.getMaintenanceState()).thenReturn(MaintenanceState.OFF);
- HashMap<String, Service> clusterServices = new HashMap<String, Service>();
+ HashMap<String, Service> clusterServices = new HashMap<>();
clusterServices.put("HDFS", hdfsService);
clusterServices.put("TEZ", tezService);
clusterServices.put("AMBARI_METRICS", amsService);
@@ -138,7 +150,7 @@ public class ComponentsInstallationCheckTest {
// Put Components inside Services
// HDFS
- Map<String, ServiceComponent> hdfsComponents = new HashMap<String, ServiceComponent>();
+ Map<String, ServiceComponent> hdfsComponents = new HashMap<>();
ServiceComponent nameNode = Mockito.mock(ServiceComponent.class);
Mockito.when(nameNode.getName()).thenReturn("NAMENODE");
@@ -165,7 +177,7 @@ public class ComponentsInstallationCheckTest {
Mockito.when(hdfsService.getServiceComponents()).thenReturn(hdfsComponents);
// TEZ
- Map<String, ServiceComponent> tezComponents = new HashMap<String, ServiceComponent>();
+ Map<String, ServiceComponent> tezComponents = new HashMap<>();
ServiceComponent tezClient = Mockito.mock(ServiceComponent.class);
Mockito.when(tezClient.getName()).thenReturn("TEZ_CLIENT");
@@ -177,7 +189,7 @@ public class ComponentsInstallationCheckTest {
Mockito.when(tezService.getServiceComponents()).thenReturn(tezComponents);
// AMS
- Map<String, ServiceComponent> amsComponents = new HashMap<String, ServiceComponent>();
+ Map<String, ServiceComponent> amsComponents = new HashMap<>();
ServiceComponent metricsCollector = Mockito.mock(ServiceComponent.class);
Mockito.when(metricsCollector.getName()).thenReturn("METRICS_COLLECTOR");
@@ -203,7 +215,7 @@ public class ComponentsInstallationCheckTest {
final HostComponentSummary hcsMetricsCollector = Mockito.mock(HostComponentSummary.class);
final HostComponentSummary hcsMetricsMonitor = Mockito.mock(HostComponentSummary.class);
- List<HostComponentSummary> allHostComponentSummaries = new ArrayList<HostComponentSummary>();
+ List<HostComponentSummary> allHostComponentSummaries = new ArrayList<>();
allHostComponentSummaries.add(hcsNameNode);
allHostComponentSummaries.add(hcsDataNode1);
allHostComponentSummaries.add(hcsDataNode2);
@@ -213,7 +225,7 @@ public class ComponentsInstallationCheckTest {
allHostComponentSummaries.add(hcsMetricsCollector);
allHostComponentSummaries.add(hcsMetricsMonitor);
- final Map<String, Host> hosts = new HashMap<String, Host>();
+ final Map<String, Host> hosts = new HashMap<>();
final Host host1 = Mockito.mock(Host.class);
final Host host2 = Mockito.mock(Host.class);
final Host host3 = Mockito.mock(Host.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/eb598e85/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 68a0522..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;
//
@@ -57,10 +58,12 @@ public class ConfigurationMergeCheckTest {
private static final String CONFIG_PROPERTY = "hdfs.property";
private Clusters clusters = EasyMock.createMock(Clusters.class);
- private Map<String, String> m_configMap = new HashMap<String, String>();
+ private Map<String, String> m_configMap = new HashMap<>();
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/eb598e85/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 cdf13eb..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);
+
/**
*
*/
@@ -69,16 +72,16 @@ public class HiveDynamicServiceDiscoveryCheckTest {
final DesiredConfig desiredConfig = Mockito.mock(DesiredConfig.class);
Mockito.when(desiredConfig.getTag()).thenReturn("tag");
- Map<String, DesiredConfig> configMap = new HashMap<String, DesiredConfig>();
+ Map<String, DesiredConfig> configMap = new HashMap<>();
configMap.put("hive-site", desiredConfig);
Mockito.when(cluster.getDesiredConfigs()).thenReturn(configMap);
final Config config = Mockito.mock(Config.class);
Mockito.when(cluster.getConfig(Mockito.anyString(), Mockito.anyString())).thenReturn(config);
- final Map<String, String> properties = new HashMap<String, String>();
+ final Map<String, String> properties = new HashMap<>();
Mockito.when(config.getProperties()).thenReturn(properties);
- Map<String, String> checkProperties = new HashMap<String, String>();
+ Map<String, String> checkProperties = new HashMap<>();
checkProperties.put("min-failure-stack-version","HDP-2.3.0.0");
PrerequisiteCheckConfig prerequisiteCheckConfig = Mockito.mock(PrerequisiteCheckConfig.class);
Mockito.when(prerequisiteCheckConfig.getCheckProperties(
@@ -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/eb598e85/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 16f383a..5e7b1e5 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,13 @@ 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.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;
@@ -44,6 +46,8 @@ public class HiveMultipleMetastoreCheckTest {
private final Clusters m_clusters = Mockito.mock(Clusters.class);
private final HiveMultipleMetastoreCheck m_check = new HiveMultipleMetastoreCheck();
+ final RepositoryVersionEntity m_repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
+
/**
*
*/
@@ -58,6 +62,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"));
}
/**
@@ -71,13 +78,13 @@ public class HiveMultipleMetastoreCheckTest {
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<>();
Mockito.when(cluster.getServices()).thenReturn(services);
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));
@@ -107,12 +114,12 @@ public class HiveMultipleMetastoreCheckTest {
Mockito.when(hive.getServiceComponent("HIVE_METASTORE")).thenReturn(metastore);
- Map<String, ServiceComponentHost> metastores = new HashMap<String, ServiceComponentHost>();
+ Map<String, ServiceComponentHost> metastores = new HashMap<>();
Mockito.when(metastore.getServiceComponentHosts()).thenReturn(metastores);
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());
@@ -129,10 +136,10 @@ public class HiveMultipleMetastoreCheckTest {
@Test
public void testPerformFail() throws Exception{
final Cluster cluster = Mockito.mock(Cluster.class);
- final LinkedHashSet<String> failedOnExpected = new LinkedHashSet<String>();
+ final LinkedHashSet<String> failedOnExpected = new LinkedHashSet<>();
Service hive = Mockito.mock(Service.class);
ServiceComponent metastore = Mockito.mock(ServiceComponent.class);
- Map<String, ServiceComponentHost> metastores = new HashMap<String, ServiceComponentHost>();
+ Map<String, ServiceComponentHost> metastores = new HashMap<>();
failedOnExpected.add("HIVE");
@@ -144,7 +151,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/eb598e85/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/eb598e85/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 9fcb319..e4901c7 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>() {
@@ -106,17 +120,23 @@ public class HostsMasterMaintenanceCheckTest {
Mockito.when(repositoryVersionHelper.getUpgradePackageName(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), (UpgradeType) Mockito.anyObject())).thenReturn(null);
PrerequisiteCheck check = new PrerequisiteCheck(null, null);
- hostsMasterMaintenanceCheck.perform(check, new PrereqCheckRequest("cluster"));
+ PrereqCheckRequest checkRequest = new PrereqCheckRequest("cluster");
+ checkRequest.setTargetRepositoryVersion(repositoryVersion);
+
+ hostsMasterMaintenanceCheck.perform(check, checkRequest);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
Mockito.when(repositoryVersionHelper.getUpgradePackageName(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), (UpgradeType) Mockito.anyObject())).thenReturn(upgradePackName);
Mockito.when(ambariMetaInfo.getUpgradePacks(Mockito.anyString(), Mockito.anyString())).thenReturn(new HashMap<String, UpgradePack>());
check = new PrerequisiteCheck(null, null);
- hostsMasterMaintenanceCheck.perform(check, new PrereqCheckRequest("cluster"));
+ checkRequest = new PrereqCheckRequest("cluster");
+ checkRequest.setTargetRepositoryVersion(repositoryVersion);
+
+ hostsMasterMaintenanceCheck.perform(check, checkRequest);
Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
- final Map<String, UpgradePack> upgradePacks = new HashMap<String, UpgradePack>();
+ final Map<String, UpgradePack> upgradePacks = new HashMap<>();
final UpgradePack upgradePack = Mockito.mock(UpgradePack.class);
Mockito.when(upgradePack.getName()).thenReturn(upgradePackName);
upgradePacks.put(upgradePack.getName(), upgradePack);
@@ -126,7 +146,10 @@ public class HostsMasterMaintenanceCheckTest {
Mockito.when(clusters.getHostsForCluster(Mockito.anyString())).thenReturn(new HashMap<String, Host>());
check = new PrerequisiteCheck(null, null);
- hostsMasterMaintenanceCheck.perform(check, new PrereqCheckRequest("cluster"));
+ checkRequest = new PrereqCheckRequest("cluster");
+ checkRequest.setTargetRepositoryVersion(repositoryVersion);
+
+ hostsMasterMaintenanceCheck.perform(check, checkRequest);
Assert.assertEquals(PrereqCheckStatus.PASS, check.getStatus());
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/eb598e85/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 433eee1..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;
@@ -97,7 +108,7 @@ public class HostsRepositoryVersionCheckTest {
Mockito.when(cluster.getClusterId()).thenReturn(1L);
Mockito.when(cluster.getDesiredStackVersion()).thenReturn(new StackId());
Mockito.when(clusters.getCluster("cluster")).thenReturn(cluster);
- final Map<String, Host> hosts = new HashMap<String, Host>();
+ final Map<String, Host> hosts = new HashMap<>();
final Host host1 = Mockito.mock(Host.class);
final Host host2 = Mockito.mock(Host.class);
final Host host3 = Mockito.mock(Host.class);
@@ -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());
}
@@ -177,7 +194,7 @@ public class HostsRepositoryVersionCheckTest {
Mockito.when(cluster.getClusterId()).thenReturn(1L);
Mockito.when(cluster.getDesiredStackVersion()).thenReturn(new StackId());
Mockito.when(clusters.getCluster("cluster")).thenReturn(cluster);
- final Map<String, Host> hosts = new HashMap<String, Host>();
+ final Map<String, Host> hosts = new HashMap<>();
final Host host1 = Mockito.mock(Host.class);
final Host host2 = Mockito.mock(Host.class);
final Host host3 = Mockito.mock(Host.class);
@@ -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());
}
@@ -234,7 +249,7 @@ public class HostsRepositoryVersionCheckTest {
Mockito.when(cluster.getClusterId()).thenReturn(1L);
Mockito.when(cluster.getDesiredStackVersion()).thenReturn(new StackId());
Mockito.when(clusters.getCluster("cluster")).thenReturn(cluster);
- final Map<String, Host> hosts = new HashMap<String, Host>();
+ final Map<String, Host> hosts = new HashMap<>();
final Host host1 = Mockito.mock(Host.class);
final Host host2 = Mockito.mock(Host.class);
final Host host3 = Mockito.mock(Host.class);
@@ -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/eb598e85/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/eb598e85/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 efcf3de..a232f77 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/eb598e85/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/eb598e85/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 03b0e81..ae8b5c24 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
@@ -62,7 +69,7 @@ public class ServicePresenceCheckTest {
Mockito.when(cluster.getClusterId()).thenReturn(1L);
Mockito.when(m_clusters.getCluster("cluster")).thenReturn(cluster);
- Map<String, String> checkProperties = new HashMap<String, String>();
+ Map<String, String> checkProperties = new HashMap<>();
checkProperties.put(ServicePresenceCheck.NO_UPGRADE_SUPPORT_SERVICES_PROPERTY_NAME,"MyServiceOne, MyServiceTwo");
checkProperties.put(ServicePresenceCheck.REMOVED_SERVICES_PROPERTY_NAME,"OldServiceOne, OldServiceTwo");
checkProperties.put(ServicePresenceCheck.NEW_SERVICES_PROPERTY_NAME,"NewServiceOne, NewServiceTwo");
@@ -73,7 +80,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);
@@ -86,11 +93,11 @@ 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));
Mockito.when(cluster.getServices()).thenReturn(services);
- Map<String, String> checkProperties = new HashMap<String, String>();
+ Map<String, String> checkProperties = new HashMap<>();
checkProperties.put(ServicePresenceCheck.NO_UPGRADE_SUPPORT_SERVICES_PROPERTY_NAME,"Atlas, MyService");
PrerequisiteCheckConfig prerequisiteCheckConfig = Mockito.mock(PrerequisiteCheckConfig.class);
Mockito.when(prerequisiteCheckConfig.getCheckProperties(
@@ -110,12 +117,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,"Atlas, OldService");
checkProperties.put(ServicePresenceCheck.NEW_SERVICES_PROPERTY_NAME,"Atlas2, NewService");
@@ -137,11 +144,11 @@ 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));
Mockito.when(cluster.getServices()).thenReturn(services);
- Map<String, String> checkProperties = new HashMap<String, String>();
+ Map<String, String> checkProperties = new HashMap<>();
checkProperties.put(ServicePresenceCheck.NO_UPGRADE_SUPPORT_SERVICES_PROPERTY_NAME,"MyServiceOne, MyServiceTwo");
checkProperties.put(ServicePresenceCheck.REMOVED_SERVICES_PROPERTY_NAME,"Atlas, OldService");
checkProperties.put(ServicePresenceCheck.NEW_SERVICES_PROPERTY_NAME,"Atlas2, NewService");
@@ -164,11 +171,11 @@ 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("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.NO_UPGRADE_SUPPORT_SERVICES_PROPERTY_NAME,"Atlas, MyService");
checkProperties.put(ServicePresenceCheck.REMOVED_SERVICES_PROPERTY_NAME,"OldService");
checkProperties.put(ServicePresenceCheck.NEW_SERVICES_PROPERTY_NAME,"NewService");
@@ -191,14 +198,14 @@ 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("HDFS", Mockito.mock(Service.class));
services.put("STORM", Mockito.mock(Service.class));
services.put("RANGER", 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.NO_UPGRADE_SUPPORT_SERVICES_PROPERTY_NAME,"Atlas, HDFS");
checkProperties.put(ServicePresenceCheck.REMOVED_SERVICES_PROPERTY_NAME,"Storm, Ranger");
checkProperties.put(ServicePresenceCheck.NEW_SERVICES_PROPERTY_NAME,"Storm2, Ranger2");
http://git-wip-us.apache.org/repos/asf/ambari/blob/eb598e85/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/eb598e85/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 87d4167..cd0d4fb 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
@@ -27,6 +27,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;
@@ -34,14 +35,13 @@ 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;
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;
-import org.mockito.Mockito;
/**
* Unit tests for ServicesNamenodeTruncateCheck
@@ -51,7 +51,9 @@ public class ServicesNamenodeTruncateCheckTest {
private Clusters m_clusters = EasyMock.createMock(Clusters.class);
private ServicesNamenodeTruncateCheck m_check = new ServicesNamenodeTruncateCheck();
- private final Map<String, String> m_configMap = new HashMap<String, String>();
+ private final Map<String, String> m_configMap = new HashMap<>();
+
+ final RepositoryVersionEntity repositoryVersion = Mockito.mock(RepositoryVersionEntity.class);
@Before
public void setup() throws Exception {
@@ -81,6 +83,9 @@ public class ServicesNamenodeTruncateCheckTest {
return m_clusters;
}
};
+
+ Mockito.when(repositoryVersion.getVersion()).thenReturn("HDP-2.2.0.0");
+ Mockito.when(repositoryVersion.getStackId()).thenReturn(new StackId("HDP", "2.2.0"));
}
@@ -88,9 +93,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));
}
@@ -105,7 +109,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());
@@ -118,7 +126,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());