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);
 

Reply via email to