You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2015/10/09 11:43:25 UTC
ambari git commit: AMBARI-13274. Define a new API to refresh HDP.repo
files using the provided repo baseurl. Fix hosts check.(vbrodetskyi)
Repository: ambari
Updated Branches:
refs/heads/branch-2.1 4dadeb9fe -> 464773614
AMBARI-13274. Define a new API to refresh HDP.repo files using the provided repo baseurl. Fix hosts check.(vbrodetskyi)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/46477361
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/46477361
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/46477361
Branch: refs/heads/branch-2.1
Commit: 46477361446ce9f716f8fd3b22ff084a8afc6697
Parents: 4dadeb9
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Fri Oct 9 12:43:07 2015 +0300
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Fri Oct 9 12:43:07 2015 +0300
----------------------------------------------------------------------
.../controller/AmbariActionExecutionHelper.java | 22 +++++++++++++-------
.../AmbariManagementControllerTest.java | 6 +++---
2 files changed, 17 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/46477361/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java
index a379a75..0f76808 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java
@@ -202,14 +202,20 @@ public class AmbariActionExecutionHelper {
}
}
- // decided to hide this part of code, to have ability, by default execute custom action on all hosts(according to targetType in definition)
- //if (TargetHostType.SPECIFIC.equals(actionDef.getTargetType())
- // || (targetService.isEmpty() && targetComponent.isEmpty())) {
- // if (resourceFilter == null || resourceFilter.getHostNames().size() == 0) {
- // throw new AmbariException("Action " + actionRequest.getActionName() + " requires explicit target host(s)" +
- // " that is not provided.");
- // }
- //}
+ TargetHostType targetHostType = actionDef.getTargetType();
+
+ if (TargetHostType.SPECIFIC.equals(actionDef.getTargetType())
+ || (targetService.isEmpty() && targetComponent.isEmpty())) {
+ if ((resourceFilter == null || resourceFilter.getHostNames().size() == 0) && !isTargetHostTypeAllowsEmptyHosts(targetHostType)) {
+ throw new AmbariException("Action " + actionRequest.getActionName() + " requires explicit target host(s)" +
+ " that is not provided.");
+ }
+ }
+ }
+
+ private boolean isTargetHostTypeAllowsEmptyHosts(TargetHostType targetHostType) {
+ return targetHostType.equals(TargetHostType.ALL) || targetHostType.equals(TargetHostType.ANY)
+ || targetHostType.equals(TargetHostType.MAJORITY);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/46477361/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
index fa485e3..79f4b9f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
@@ -4531,9 +4531,9 @@ public class AmbariManagementControllerTest {
"Action a1 requires input 'dirName' that is not provided");
params.put("dirName", "dirName");
- //actionRequest = new ExecuteActionRequest("c1", null, "a1", null, null, params, false);
- //expectActionCreationErrorWithMessage(actionRequest, requestProperties,
- // "Action a1 requires explicit target host(s)");
+ actionRequest = new ExecuteActionRequest("c1", null, "a1", null, null, params, false);
+ expectActionCreationErrorWithMessage(actionRequest, requestProperties,
+ "Action a1 requires explicit target host(s)");
resourceFilters.clear();
resourceFilter = new RequestResourceFilter("HIVE", null, null);