Updated Branches: refs/heads/trunk 60be849a3 -> acfbf348a
AMBARI-3191. Cannot delete a stopped host_component in INSTALLED state. Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/acfbf348 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/acfbf348 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/acfbf348 Branch: refs/heads/trunk Commit: acfbf348a771eabbca6e78189b3be8abcef87ded Parents: 60be849 Author: Sumit Mohanty <[email protected]> Authored: Wed Sep 11 20:23:50 2013 -0700 Committer: Sumit Mohanty <[email protected]> Committed: Wed Sep 11 20:23:50 2013 -0700 ---------------------------------------------------------------------- .../AmbariManagementControllerImpl.java | 4 ++-- .../org/apache/ambari/server/state/State.java | 18 ------------------ .../AmbariManagementControllerTest.java | 6 +++--- 3 files changed, 5 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/acfbf348/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java index d644537..e670272 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java @@ -3705,9 +3705,9 @@ public class AmbariManagementControllerImpl implements // generation. // Clients may be removed without a state check. if (!component.isClientComponent() && - !componentHost.getState().isHardDeletableState()) { + !componentHost.getState().isRemovableState()) { throw new AmbariException("To remove master or slave components they must be in " + - "MAINTENANCE/INIT/INSTALL_FAILED/UNKNOWN state. Current=" + componentHost.getState() + "."); + "MAINTENANCE/INIT/INSTALLED/INSTALL_FAILED/UNKNOWN state. Current=" + componentHost.getState() + "."); } if (!safeToRemoveSCHs.containsKey(component)) { http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/acfbf348/ambari-server/src/main/java/org/apache/ambari/server/state/State.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/State.java b/ambari-server/src/main/java/org/apache/ambari/server/state/State.java index b5099b8..034e7e8 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/State.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/State.java @@ -150,22 +150,4 @@ public enum State { return false; } } - - /** - * Indicates whether or not the resource with this state can be hard-deleted. - * - * @return true if this is a hard-deletable state - */ - public boolean isHardDeletableState() { - switch (State.values()[this.state]) { - case INIT: - case INSTALLING: - case INSTALL_FAILED: - case UNKNOWN: - case MAINTENANCE: - return true; - default: - return false; - } - } } http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/acfbf348/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 23cc719..5ffa24d 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 @@ -6911,7 +6911,7 @@ public class AmbariManagementControllerTest { Service s1 = cluster.getService(serviceName); Service s2 = cluster.getService(mapred); ServiceComponent sc1 = s1.getServiceComponent(componentName1); - sc1.getServiceComponentHosts().values().iterator().next().setState(State.INSTALLED); + sc1.getServiceComponentHosts().values().iterator().next().setState(State.STARTED); Set<ServiceComponentHostRequest> schRequests = new HashSet<ServiceComponentHostRequest>(); // delete HC @@ -6922,7 +6922,7 @@ public class AmbariManagementControllerTest { Assert.fail("Expect failure while deleting."); } catch (Exception ex) { Assert.assertTrue(ex.getMessage().contains( - "remove master or slave components they must be in MAINTENANCE/INIT/INSTALL_FAILED/UNKNOWN")); + "Host Component cannot be removed")); } sc1.getServiceComponentHosts().values().iterator().next().setDesiredState(State.STARTED); @@ -6935,7 +6935,7 @@ public class AmbariManagementControllerTest { sc4.getServiceComponentHosts().values().iterator().next().setDesiredState(State.INSTALLED); sc4.getServiceComponentHosts().values().iterator().next().setState(State.MAINTENANCE); ServiceComponent sc5 = s2.getServiceComponent(componentName5); - sc5.getServiceComponentHosts().values().iterator().next().setState(State.INSTALL_FAILED); + sc5.getServiceComponentHosts().values().iterator().next().setState(State.INSTALLED); ServiceComponent sc6 = s2.getServiceComponent(componentName6); sc6.getServiceComponentHosts().values().iterator().next().setState(State.INIT);
