You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ad...@apache.org on 2017/06/30 19:15:39 UTC
ambari git commit: AMBARI-21372. Allow Dependency Checks to be
Skipped During Stack Package Installation
Repository: ambari
Updated Branches:
refs/heads/branch-feature-AMBARI-21348 49d76e1ed -> dc9031404
AMBARI-21372. Allow Dependency Checks to be Skipped During Stack Package Installation
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/dc903140
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dc903140
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dc903140
Branch: refs/heads/branch-feature-AMBARI-21348
Commit: dc9031404123b0c8d9e136a8d1f912a70d164209
Parents: 49d76e1
Author: Attila Doroszlai <ad...@hortonworks.com>
Authored: Thu Jun 29 13:18:49 2017 +0200
Committer: Attila Doroszlai <ad...@hortonworks.com>
Committed: Fri Jun 30 21:14:07 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/ambari/server/agent/ExecutionCommand.java | 1 +
.../internal/ClusterStackVersionResourceProvider.java | 7 ++++++-
.../main/resources/custom_actions/scripts/install_packages.py | 6 +++++-
3 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/dc903140/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java b/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
index edf1251..32fb37b 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/agent/ExecutionCommand.java
@@ -410,6 +410,7 @@ public class ExecutionCommand extends AgentCommand {
String STACK_VERSION = "stack_version";
String SERVICE_REPO_INFO = "service_repo_info";
String PACKAGE_LIST = "package_list";
+ String IGNORE_PACKAGE_DEPENDENCIES = "ignore_package_dependencies";
String JDK_LOCATION = "jdk_location";
String JAVA_HOME = "java_home";
String JAVA_VERSION = "java_version";
http://git-wip-us.apache.org/repos/asf/ambari/blob/dc903140/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
index 621d71e..64e0b14 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
@@ -113,6 +113,7 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou
protected static final String CLUSTER_STACK_VERSION_HOST_STATES_PROPERTY_ID = PropertyHelper.getPropertyId("ClusterStackVersions", "host_states");
protected static final String CLUSTER_STACK_VERSION_REPOSITORY_VERSION_PROPERTY_ID = PropertyHelper.getPropertyId("ClusterStackVersions", "repository_version");
protected static final String CLUSTER_STACK_VERSION_STAGE_SUCCESS_FACTOR = PropertyHelper.getPropertyId("ClusterStackVersions", "success_factor");
+ protected static final String CLUSTER_STACK_VERSION_IGNORE_PACKAGE_DEPENDENCIES = PropertyHelper.getPropertyId("ClusterStackVersions", KeyNames.IGNORE_PACKAGE_DEPENDENCIES);
/**
* Forces the {@link HostVersionEntity}s to a specific
@@ -150,7 +151,7 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou
CLUSTER_STACK_VERSION_CLUSTER_NAME_PROPERTY_ID, CLUSTER_STACK_VERSION_STACK_PROPERTY_ID,
CLUSTER_STACK_VERSION_VERSION_PROPERTY_ID, CLUSTER_STACK_VERSION_HOST_STATES_PROPERTY_ID,
CLUSTER_STACK_VERSION_STATE_PROPERTY_ID, CLUSTER_STACK_VERSION_REPOSITORY_VERSION_PROPERTY_ID,
- CLUSTER_STACK_VERSION_STAGE_SUCCESS_FACTOR, CLUSTER_STACK_VERSION_FORCE);
+ CLUSTER_STACK_VERSION_STAGE_SUCCESS_FACTOR, CLUSTER_STACK_VERSION_IGNORE_PACKAGE_DEPENDENCIES, CLUSTER_STACK_VERSION_FORCE);
private static Map<Type, String> keyPropertyIds = ImmutableMap.<Type, String> builder()
.put(Type.Cluster, CLUSTER_STACK_VERSION_CLUSTER_NAME_PROPERTY_ID)
@@ -532,6 +533,9 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou
successFactor = Float.valueOf(successFactorProperty);
}
+ Object ignorePackageDependenciesProperty = propertyMap.get(CLUSTER_STACK_VERSION_IGNORE_PACKAGE_DEPENDENCIES);
+ String ignorePackageDependencies = Boolean.valueOf(String.valueOf(ignorePackageDependenciesProperty)).toString();
+
boolean hasStage = false;
ArrayList<Stage> stages = new ArrayList<Stage>(batchCount);
@@ -574,6 +578,7 @@ public class ClusterStackVersionResourceProvider extends AbstractControllerResou
ActionExecutionContext actionContext = getHostVersionInstallCommand(repoVersionEnt,
cluster, managementController, ami, stackId, serviceNames, perOsRepos, stage, host);
if (null != actionContext) {
+ actionContext.getParameters().put(KeyNames.IGNORE_PACKAGE_DEPENDENCIES, ignorePackageDependencies);
try {
actionExecutionHelper.get().addExecutionCommandsToStage(actionContext, stage, null);
hasStage = true;
http://git-wip-us.apache.org/repos/asf/ambari/blob/dc903140/ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/custom_actions/scripts/install_packages.py b/ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
index 3a93389..a6645be 100644
--- a/ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
+++ b/ambari-server/src/main/resources/custom_actions/scripts/install_packages.py
@@ -72,9 +72,11 @@ class InstallPackages(Script):
signal.signal(signal.SIGINT, self.abort_handler)
self.repository_version_id = None
+ self.ignore_package_dependencies = False
# Select dict that contains parameters
try:
+ self.ignore_package_dependencies = 'ignore_package_dependencies' in config['roleParams'] and config['roleParams']['ignore_package_dependencies']
self.repository_version = config['roleParams']['repository_version']
base_urls = json.loads(config['roleParams']['base_urls'])
package_list = json.loads(config['roleParams']['package_list'])
@@ -402,7 +404,9 @@ class InstallPackages(Script):
if package_version_string and (package_version_string in package):
Package(package, action="remove")
- if not verifyDependencies():
+ if self.ignore_package_dependencies:
+ Logger.info("Ignoring package dependencies")
+ elif not verifyDependencies():
ret_code = 1
Logger.logger.error("Failure while verifying dependencies")
Logger.logger.error("*******************************************************************************")