Repository: ambari
Updated Branches:
  refs/heads/trunk 5378bd912 -> fa1303aaa


AMBARI-11073. RU: Should not complain about decommissioned components 
(dlysnichenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fa1303aa
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fa1303aa
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fa1303aa

Branch: refs/heads/trunk
Commit: fa1303aaa6c4ac61a8f3f213dc33adf5b062b458
Parents: 5378bd9
Author: Lisnichenko Dmitro <dlysniche...@hortonworks.com>
Authored: Tue May 12 21:00:18 2015 +0300
Committer: Lisnichenko Dmitro <dlysniche...@hortonworks.com>
Committed: Tue May 12 21:00:18 2015 +0300

----------------------------------------------------------------------
 .../ambari/server/checks/CheckDescription.java  |   7 --
 .../checks/ServicesDecommissionCheck.java       |  68 ------------
 .../checks/ServicesDecommissionCheckTest.java   | 105 -------------------
 3 files changed, 180 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/fa1303aa/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
index 083d3f9..8e92cfe 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDescription.java
@@ -72,13 +72,6 @@ public enum CheckDescription {
         put(AbstractCheckDescriptor.DEFAULT, "The SNameNode component must be 
deleted from host: {{fails}}.");
       }}),
 
-  SERVICES_DECOMMISSION(PrereqCheckType.SERVICE,
-      "Services should not have components in decommission state",
-      new HashMap<String, String>() {{
-        put(AbstractCheckDescriptor.DEFAULT,
-          "The following Services must not have components in decommissioned 
or decommissioning state: {{fails}}.");
-      }}),
-
   SERVICES_MAINTENANCE_MODE(PrereqCheckType.SERVICE,
       "No services can be in Maintenance Mode",
       new HashMap<String, String>() {{

http://git-wip-us.apache.org/repos/asf/ambari/blob/fa1303aa/ambari-server/src/main/java/org/apache/ambari/server/checks/ServicesDecommissionCheck.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/checks/ServicesDecommissionCheck.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/checks/ServicesDecommissionCheck.java
deleted file mode 100644
index 6ebfd1f..0000000
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/checks/ServicesDecommissionCheck.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ambari.server.checks;
-
-import java.util.Map;
-
-import org.apache.ambari.server.AmbariException;
-import org.apache.ambari.server.controller.PrereqCheckRequest;
-import org.apache.ambari.server.state.Cluster;
-import org.apache.ambari.server.state.HostComponentAdminState;
-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.stack.PrereqCheckStatus;
-import org.apache.ambari.server.state.stack.PrerequisiteCheck;
-
-import com.google.inject.Singleton;
-
-/**
- * Checks that there are no services in decommission state.
- */
-@Singleton
-public class ServicesDecommissionCheck extends AbstractCheckDescriptor {
-
-  /**
-   * Constructor.
-   */
-  public ServicesDecommissionCheck() {
-    super(CheckDescription.SERVICES_DECOMMISSION);
-  }
-
-  @Override
-  public void perform(PrerequisiteCheck prerequisiteCheck, PrereqCheckRequest 
request) throws AmbariException {
-    final String clusterName = request.getClusterName();
-    final Cluster cluster = clustersProvider.get().getCluster(clusterName);
-    for (Map.Entry<String, Service> serviceEntry: 
cluster.getServices().entrySet()) {
-      final Service service = serviceEntry.getValue();
-      for (Map.Entry<String, ServiceComponent> serviceComponentEntry: 
service.getServiceComponents().entrySet()) {
-        final ServiceComponent serviceComponent = 
serviceComponentEntry.getValue();
-        for (String hostName : 
serviceComponent.getServiceComponentHosts().keySet()) {
-          final ServiceComponentHost scHost = 
serviceComponent.getServiceComponentHost(hostName);
-          if (scHost.getComponentAdminState() == 
HostComponentAdminState.DECOMMISSIONED || scHost.getComponentAdminState() == 
HostComponentAdminState.DECOMMISSIONING) {
-            prerequisiteCheck.getFailedOn().add(serviceComponent.getName());
-          }
-        }
-      }
-    }
-    if (!prerequisiteCheck.getFailedOn().isEmpty()) {
-      prerequisiteCheck.setStatus(PrereqCheckStatus.FAIL);
-      prerequisiteCheck.setFailReason(getFailReason(prerequisiteCheck, 
request));
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/ambari/blob/fa1303aa/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesDecommissionCheckTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesDecommissionCheckTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesDecommissionCheckTest.java
deleted file mode 100644
index 1c3056b..0000000
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/checks/ServicesDecommissionCheckTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.ambari.server.checks;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.ambari.server.api.services.AmbariMetaInfo;
-import org.apache.ambari.server.controller.PrereqCheckRequest;
-import org.apache.ambari.server.state.Cluster;
-import org.apache.ambari.server.state.Clusters;
-import org.apache.ambari.server.state.HostComponentAdminState;
-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;
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import com.google.inject.Provider;
-
-/**
- * Unit tests for ServicesDecommissionCheck
- *
- */
-public class ServicesDecommissionCheckTest {
-  private final Clusters clusters = Mockito.mock(Clusters.class);
-
-  @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"));
-
-    Assert.assertTrue(new 
ServicesDecommissionCheck().isApplicable(checkRequest));
-  }
-
-  @Test
-  public void testPerform() throws Exception {
-    final ServicesDecommissionCheck servicesDecommissionCheck = new 
ServicesDecommissionCheck();
-    servicesDecommissionCheck.clustersProvider = new Provider<Clusters>() {
-
-      @Override
-      public Clusters get() {
-        return clusters;
-      }
-    };
-    servicesDecommissionCheck.ambariMetaInfo = new Provider<AmbariMetaInfo>() {
-      @Override
-      public AmbariMetaInfo get() {
-        return Mockito.mock(AmbariMetaInfo.class);
-      }
-    };
-
-    final Cluster cluster = Mockito.mock(Cluster.class);
-    Mockito.when(cluster.getClusterId()).thenReturn(1L);
-    Mockito.when(cluster.getCurrentStackVersion()).thenReturn(new 
StackId("HDP", "2.2"));
-    Mockito.when(clusters.getCluster("cluster")).thenReturn(cluster);
-    final Service service = Mockito.mock(Service.class);
-    
Mockito.when(cluster.getServices()).thenReturn(Collections.singletonMap("service",
 service));
-    final ServiceComponent serviceComponent1 = 
Mockito.mock(ServiceComponent.class);
-    final ServiceComponent serviceComponent2 = 
Mockito.mock(ServiceComponent.class);
-    final Map<String, ServiceComponent> serviceComponents = new 
HashMap<String, ServiceComponent>();
-    serviceComponents.put("component1", serviceComponent1);
-    serviceComponents.put("component2", serviceComponent2);
-    Mockito.when(service.getServiceComponents()).thenReturn(serviceComponents);
-    final ServiceComponentHost serviceComponentHost1 = 
Mockito.mock(ServiceComponentHost.class);
-    final ServiceComponentHost serviceComponentHost2 = 
Mockito.mock(ServiceComponentHost.class);
-    
Mockito.when(serviceComponent1.getServiceComponentHosts()).thenReturn(Collections.singletonMap("serviceComponentHost1",
 serviceComponentHost1));
-    
Mockito.when(serviceComponent2.getServiceComponentHosts()).thenReturn(Collections.singletonMap("serviceComponentHost2",
 serviceComponentHost2));
-    
Mockito.when(serviceComponent1.getServiceComponentHost(Mockito.anyString())).thenReturn(serviceComponentHost1);
-    
Mockito.when(serviceComponent2.getServiceComponentHost(Mockito.anyString())).thenReturn(serviceComponentHost2);
-    
Mockito.when(serviceComponentHost1.getComponentAdminState()).thenReturn(HostComponentAdminState.DECOMMISSIONED);
-    
Mockito.when(serviceComponentHost2.getComponentAdminState()).thenReturn(HostComponentAdminState.INSERVICE);
-
-    PrerequisiteCheck check = new PrerequisiteCheck(null, null);
-    servicesDecommissionCheck.perform(check, new 
PrereqCheckRequest("cluster"));
-    Assert.assertEquals(PrereqCheckStatus.FAIL, check.getStatus());
-
-    
Mockito.when(serviceComponentHost1.getComponentAdminState()).thenReturn(HostComponentAdminState.INSERVICE);
-    check = new PrerequisiteCheck(null, null);
-    servicesDecommissionCheck.perform(check, new 
PrereqCheckRequest("cluster"));
-    Assert.assertEquals(PrereqCheckStatus.PASS, check.getStatus());
-  }
-}

Reply via email to