You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2013/03/06 20:25:09 UTC
svn commit: r1453499 - in /incubator/ambari/trunk: ./
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/
Author: swagle
Date: Wed Mar 6 19:25:09 2013
New Revision: 1453499
URL: http://svn.apache.org/r1453499
Log:
AMBARI-1563. API Support: Host-component resource should include its current HA active/passive status. (Sumit Mohanty via swagle)
Modified:
incubator/ambari/trunk/CHANGES.txt
incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
Modified: incubator/ambari/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/CHANGES.txt?rev=1453499&r1=1453498&r2=1453499&view=diff
==============================================================================
--- incubator/ambari/trunk/CHANGES.txt (original)
+++ incubator/ambari/trunk/CHANGES.txt Wed Mar 6 19:25:09 2013
@@ -12,6 +12,9 @@ Trunk (unreleased changes):
NEW FEATURES
+ AMBARI-1563. API Support: Host-component resource should include its current
+ HA active/passive status. (Sumit Mohanty via swagle)
+
AMBARI-1560. Upgrade action/task support in server. (Sumit Mohanty via swagle)
AMBARI-1553. List cluster-level configurations with host-level, if any (ncole)
Modified: incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java?rev=1453499&r1=1453498&r2=1453499&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java (original)
+++ incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostComponentResourceProvider.java Wed Mar 6 19:25:09 2013
@@ -30,7 +30,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
-import org.apache.ambari.server.Role;
/**
* Resource provider for host component resources.
@@ -48,7 +47,6 @@ class HostComponentResourceProvider exte
protected static final String HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "desired_state");
protected static final String HOST_COMPONENT_CONFIGS_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "configs");
protected static final String HOST_COMPONENT_DESIRED_CONFIGS_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "desired_configs");
- protected static final String HOST_COMPONENT_HIGH_AVAILABILITY_PROPERTY_ID = PropertyHelper.getPropertyId("HostRoles", "ha_status");
private static Set<String> pkPropertyIds =
new HashSet<String>(Arrays.asList(new String[]{
@@ -118,21 +116,15 @@ class HostComponentResourceProvider exte
return getManagementController().getHostComponents(requests);
}
});
-
+
for (ServiceComponentHostResponse response : responses) {
Resource resource = new ResourceImpl(Resource.Type.HostComponent);
- if((response.getComponentName()).equals(Role.HBASE_MASTER.toString())) {
- requestedIds.add(HOST_COMPONENT_HIGH_AVAILABILITY_PROPERTY_ID);
- }else{
- requestedIds.remove(HOST_COMPONENT_HIGH_AVAILABILITY_PROPERTY_ID);
- }
setResourceProperty(resource, HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID, response.getClusterName(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_SERVICE_NAME_PROPERTY_ID, response.getServiceName(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID, response.getComponentName(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_HOST_NAME_PROPERTY_ID, response.getHostname(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_STATE_PROPERTY_ID, response.getLiveState(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_DESIRED_STATE_PROPERTY_ID, response.getDesiredState(), requestedIds);
- setResourceProperty(resource, HOST_COMPONENT_HIGH_AVAILABILITY_PROPERTY_ID, "NA", requestedIds);
setResourceProperty(resource, HOST_COMPONENT_CONFIGS_PROPERTY_ID,
response.getConfigs(), requestedIds);
setResourceProperty(resource, HOST_COMPONENT_DESIRED_CONFIGS_PROPERTY_ID,
Modified: incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java?rev=1453499&r1=1453498&r2=1453499&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java (original)
+++ incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/HostComponentResourceProviderTest.java Wed Mar 6 19:25:09 2013
@@ -39,6 +39,7 @@ import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
+import org.apache.ambari.server.Role;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.createNiceMock;
@@ -149,6 +150,62 @@ public class HostComponentResourceProvid
verify(managementController);
}
+
+ @Test
+ public void testGetResources_return_ha_status_property() throws Exception {
+ Resource.Type type = Resource.Type.HostComponent;
+ AmbariManagementController managementController = createMock(AmbariManagementController.class);
+ Set<ServiceComponentHostResponse> allResponse = new HashSet<ServiceComponentHostResponse>();
+ for (Role role : Role.values()) {
+ allResponse.add(new ServiceComponentHostResponse(
+ "Cluster100", "Service100", role.toString(), "Host100", null, null, "", "", "" ));
+ }
+
+
+
+ // set expectations
+ expect(managementController.getHostComponents(
+ AbstractResourceProviderTest.Matcher.getHostComponentRequestSet(
+ "Cluster100", null, null, null, null, null))).andReturn(allResponse).once();
+
+ // replay
+ replay(managementController);
+
+ ResourceProvider provider = AbstractResourceProvider.getResourceProvider(
+ type,
+ PropertyHelper.getPropertyIds(type),
+ PropertyHelper.getKeyPropertyIds(type),
+ managementController);
+
+ Set<String> propertyIds = new HashSet<String>();
+
+ propertyIds.add(HostComponentResourceProvider.HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID);
+ propertyIds.add(HostComponentResourceProvider.HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID);
+
+ Predicate predicate = new PredicateBuilder().property(
+ HostComponentResourceProvider.HOST_COMPONENT_CLUSTER_NAME_PROPERTY_ID).equals("Cluster100").toPredicate();
+ Request request = PropertyHelper.getReadRequest(propertyIds);
+ Set<Resource> resources = provider.getResources(request, predicate);
+
+ for (Resource resource : resources) {
+ Object ha_status = resource.getPropertyValue(
+ HostComponentResourceProvider.HOST_COMPONENT_HIGH_AVAILABILITY_PROPERTY_ID);
+ //ha_status must have only HBASE_MASTER component
+ if(ha_status != null)
+ {
+ Assert.assertEquals(Role.HBASE_MASTER.toString(), resource.getPropertyValue(
+ HostComponentResourceProvider.HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID).toString());
+ }else{
+ Assert.assertNotSame(Role.HBASE_MASTER.toString(), resource.getPropertyValue(
+ HostComponentResourceProvider.HOST_COMPONENT_COMPONENT_NAME_PROPERTY_ID).toString());
+ }
+ }
+
+ verify(managementController);
+ }
+
+
+
@Test
public void testUpdateResources() throws Exception {
Resource.Type type = Resource.Type.HostComponent;