Repository: ambari
Updated Branches:
  refs/heads/trunk 32da806c9 -> 29b6542b0


AMBARI-15703: HostResourceProvider should include maintenance_state when a 
request is made directly with the host name


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

Branch: refs/heads/trunk
Commit: 29b6542b014a0d1c4183a055c6b3bb4600526c12
Parents: 32da806
Author: Nahappan Somasundaram <[email protected]>
Authored: Mon Apr 4 15:46:51 2016 -0700
Committer: Nahappan Somasundaram <[email protected]>
Committed: Tue Apr 5 11:24:07 2016 -0700

----------------------------------------------------------------------
 .../server/controller/internal/HostResourceProvider.java      | 6 +++++-
 .../server/controller/AmbariManagementControllerTest.java     | 5 +++++
 .../server/controller/internal/HostResourceProviderTest.java  | 7 +++++--
 3 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/29b6542b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
index 1ffd3aa..322eab8 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostResourceProvider.java
@@ -663,8 +663,12 @@ public class HostResourceProvider extends 
AbstractControllerResourceProvider {
         Set<Cluster> clustersForHost = 
clusters.getClustersForHost(h.getHostName());
         //todo: host can only belong to a single cluster
         if (clustersForHost != null && clustersForHost.size() != 0) {
-          r.setClusterName(clustersForHost.iterator().next().getClusterName());
+          Cluster clusterForHost = clustersForHost.iterator().next();
+          r.setClusterName(clusterForHost.getClusterName());
+          r.setDesiredHostConfigs(h.getDesiredHostConfigs(clusterForHost));
+          
r.setMaintenanceState(h.getMaintenanceState(clusterForHost.getClusterId()));
         }
+
         response.add(r);
       }
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/29b6542b/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 1612233..d6fcba2 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
@@ -3044,16 +3044,20 @@ public class AmbariManagementControllerTest {
       if (resp.getHostname().equals("h1")) {
         Assert.assertEquals("c1", resp.getClusterName());
         Assert.assertEquals(2, resp.getHostAttributes().size());
+        Assert.assertEquals(MaintenanceState.OFF, resp.getMaintenanceState());
       } else if (resp.getHostname().equals("h2")) {
         Assert.assertEquals("c1", resp.getClusterName());
         Assert.assertEquals(2, resp.getHostAttributes().size());
+        Assert.assertEquals(MaintenanceState.OFF, resp.getMaintenanceState());
       } else if (resp.getHostname().equals("h3")) {
         Assert.assertEquals("c2", resp.getClusterName());
         Assert.assertEquals(3, resp.getHostAttributes().size());
+        Assert.assertEquals(MaintenanceState.OFF, resp.getMaintenanceState());
       } else if (resp.getHostname().equals("h4")) {
         //todo: why wouldn't this be null?
         Assert.assertEquals("", resp.getClusterName());
         Assert.assertEquals(4, resp.getHostAttributes().size());
+        Assert.assertEquals(null, resp.getMaintenanceState());
       } else {
         fail("Found invalid host");
       }
@@ -3067,6 +3071,7 @@ public class AmbariManagementControllerTest {
     HostResponse resp = resps.iterator().next();
     Assert.assertEquals("h1", resp.getHostname());
     Assert.assertEquals("c1", resp.getClusterName());
+    Assert.assertEquals(MaintenanceState.OFF, resp.getMaintenanceState());
     Assert.assertEquals(2, resp.getHostAttributes().size());
 
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/29b6542b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
index 23524d7..c16013a 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostResourceProviderTest.java
@@ -217,8 +217,8 @@ public class HostResourceProviderTest extends 
EasyMockSupport {
     
expect(managementController.getHostComponents(EasyMock.<Set<ServiceComponentHostRequest>>anyObject()))
         
.andReturn(Collections.<ServiceComponentHostResponse>emptySet()).anyTimes();
     
expect(resourceProviderFactory.getHostResourceProvider(EasyMock.<Set<String>>anyObject(),
-        EasyMock.<Map<Resource.Type, String>>anyObject(),
-        eq(managementController))).
+            EasyMock.<Map<Resource.Type, String>>anyObject(),
+            eq(managementController))).
         andReturn(hostResourceProvider).anyTimes();
 
     expect(clusters.getHosts()).andReturn(hosts).anyTimes();
@@ -236,6 +236,7 @@ public class HostResourceProviderTest extends 
EasyMockSupport {
 
     propertyIds.add(HostResourceProvider.HOST_CLUSTER_NAME_PROPERTY_ID);
     propertyIds.add(HostResourceProvider.HOST_NAME_PROPERTY_ID);
+    propertyIds.add(HostResourceProvider.HOST_MAINTENANCE_STATE_PROPERTY_ID);
 
     Predicate predicate =
         new 
PredicateBuilder().property(HostResourceProvider.HOST_CLUSTER_NAME_PROPERTY_ID).equals("Cluster100").
@@ -260,6 +261,8 @@ public class HostResourceProviderTest extends 
EasyMockSupport {
     for (Resource resource : resources) {
       String clusterName = (String) 
resource.getPropertyValue(HostResourceProvider.HOST_CLUSTER_NAME_PROPERTY_ID);
       Assert.assertEquals("Cluster100", clusterName);
+      MaintenanceState maintenanceState = 
(MaintenanceState)resource.getPropertyValue(HostResourceProvider.HOST_MAINTENANCE_STATE_PROPERTY_ID);
+      Assert.assertEquals(MaintenanceState.OFF, maintenanceState);
     }
 
     // verify

Reply via email to