Explorar o código

AMBARI-1859. Cannot load Nagios Alerts due to 400 Bad Request. (smohanty)

git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/trunk@1466205 13f79535-47bb-0310-9956-ffa450edef68
Sumit Mohanty %!s(int64=12) %!d(string=hai) anos
pai
achega
245b5d988b

+ 2 - 0
CHANGES.txt

@@ -665,6 +665,8 @@ Trunk (unreleased changes):
 
  BUG FIXES
 
+ AMBARI-1859. Cannot load Nagios Alerts due to 400 Bad Request. (smohanty)
+
  AMBARI-1842. Collapsable service restart message section should have pointer 
  cursor. (srimanth)
 

+ 1 - 0
ambari-server/src/main/resources/properties.json

@@ -65,6 +65,7 @@
         "HostRoles/desired_stack_id",
         "HostRoles/actual_configs",
         "params/run_smoke_test",
+        "HostRoles/nagios_alerts",
         "_"
     ],
     "Configuration":[

+ 222 - 0
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestImplTest.java

@@ -19,6 +19,7 @@
 package org.apache.ambari.server.controller.internal;
 
 import junit.framework.Assert;
+import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.ambari.server.controller.spi.Request;
 import org.junit.Test;
@@ -46,4 +47,225 @@ public class RequestImplTest {
 
     Assert.assertEquals(propertyIds, request.getPropertyIds());
   }
+
+  @Test
+  public void testValidPropertyIds() {
+    Request request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.HostComponent));
+    Set<String> validPropertyIds = request.getPropertyIds();
+
+    //HostComponent resource properties
+    Assert.assertFalse(validPropertyIds.contains("HostRoles/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/nagios_alerts"));
+    Assert.assertTrue(validPropertyIds.contains("params/run_smoke_test"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/actual_configs"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/desired_stack_id"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/stack_id"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/desired_configs"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/configs"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/desired_state"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/state"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/component_name"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/host_name"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("HostRoles/role_id"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Cluster));
+    validPropertyIds = request.getPropertyIds();
+
+    //Cluster resource properties
+    Assert.assertFalse(validPropertyIds.contains("Clusters/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Clusters/cluster_id"));
+    Assert.assertTrue(validPropertyIds.contains("Clusters/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("Clusters/version"));
+    Assert.assertTrue(validPropertyIds.contains("Clusters/state"));
+    Assert.assertTrue(validPropertyIds.contains("Clusters/desired_configs"));
+    Assert.assertTrue(validPropertyIds.contains("Clusters/actual_configs"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Service));
+    validPropertyIds = request.getPropertyIds();
+
+    //Service resource properties
+    Assert.assertFalse(validPropertyIds.contains("ServiceInfo/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceInfo/service_name"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceInfo/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceInfo/state"));
+    Assert.assertTrue(validPropertyIds.contains("Services/description"));
+    Assert.assertTrue(validPropertyIds.contains("Services/display_name"));
+    Assert.assertTrue(validPropertyIds.contains("Services/attributes"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceInfo/desired_configs"));
+    Assert.assertTrue(validPropertyIds.contains("params/run_smoke_test"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Host));
+    validPropertyIds = request.getPropertyIds();
+
+    //Host resource properties
+    Assert.assertFalse(validPropertyIds.contains("Hosts/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/host_name"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/ip"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/attributes"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/total_mem"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/cpu_count"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/ph_cpu_count"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/os_arch"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/os_type"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/rack_info"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/last_heartbeat_time"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/last_agent_env"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/last_registration_time"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/disk_info"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/host_status"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/host_health_report"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/public_host_name"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/host_state"));
+    Assert.assertTrue(validPropertyIds.contains("Hosts/desired_configs"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Component));
+    validPropertyIds = request.getPropertyIds();
+
+    //Component resource properties
+    Assert.assertFalse(validPropertyIds.contains("ServiceComponentInfo/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceComponentInfo/service_name"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceComponentInfo/component_name"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceComponentInfo/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceComponentInfo/state"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceComponents/display_name"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceComponents/description"));
+    Assert.assertTrue(validPropertyIds.contains("ServiceComponentInfo/desired_configs"));
+    Assert.assertTrue(validPropertyIds.contains("params/run_smoke_test"));
+
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Configuration));
+    validPropertyIds = request.getPropertyIds();
+
+    //Configuration resource properties
+    Assert.assertFalse(validPropertyIds.contains("Config/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Config/tag"));
+    Assert.assertTrue(validPropertyIds.contains("Config/type"));
+    Assert.assertTrue(validPropertyIds.contains("Config/cluster_name"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Action));
+    validPropertyIds = request.getPropertyIds();
+
+    //Action resource properties
+    Assert.assertFalse(validPropertyIds.contains("Action/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Actions/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("Actions/service_name"));
+    Assert.assertTrue(validPropertyIds.contains("Actions/action_name"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Request));
+    validPropertyIds = request.getPropertyIds();
+
+    //Request resource properties
+    Assert.assertFalse(validPropertyIds.contains("Requests/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Requests/id"));
+    Assert.assertTrue(validPropertyIds.contains("Requests/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("Requests/request_status"));
+    Assert.assertTrue(validPropertyIds.contains("Requests/request_context"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Task));
+    validPropertyIds = request.getPropertyIds();
+
+    //Task resource properties
+    Assert.assertFalse(validPropertyIds.contains("Task/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/id"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/request_id"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/cluster_name"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/stage_id"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/host_name"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/command"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/role"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/status"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/exit_code"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/stderr"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/stdout"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/start_time"));
+    Assert.assertTrue(validPropertyIds.contains("Tasks/attempt_cnt"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.User));
+    validPropertyIds = request.getPropertyIds();
+
+    //User resource properties
+    Assert.assertFalse(validPropertyIds.contains("Users/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Users/user_name"));
+    Assert.assertTrue(validPropertyIds.contains("Users/roles"));
+    Assert.assertTrue(validPropertyIds.contains("Users/password"));
+    Assert.assertTrue(validPropertyIds.contains("Users/old_password"));
+    Assert.assertTrue(validPropertyIds.contains("Users/ldap_user"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Stack));
+    validPropertyIds = request.getPropertyIds();
+
+    //Stack resource properties
+    Assert.assertFalse(validPropertyIds.contains("Stacks/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Stacks/stack_name"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.StackVersion));
+    validPropertyIds = request.getPropertyIds();
+
+    //StackVersion resource properties
+    Assert.assertFalse(validPropertyIds.contains("Versions/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Versions/stack_name"));
+    Assert.assertTrue(validPropertyIds.contains("Versions/stack_version"));
+    Assert.assertTrue(validPropertyIds.contains("Versions/min_upgrade_version"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.OperatingSystem));
+    validPropertyIds = request.getPropertyIds();
+
+    //OperatingSystem resource properties
+    Assert.assertFalse(validPropertyIds.contains("OperatingSystems/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("OperatingSystems/stack_name"));
+    Assert.assertTrue(validPropertyIds.contains("OperatingSystems/stack_version"));
+    Assert.assertTrue(validPropertyIds.contains("OperatingSystems/os_type"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.Repository));
+    validPropertyIds = request.getPropertyIds();
+
+    //Repository resource properties
+    Assert.assertFalse(validPropertyIds.contains("Repositories/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("Repositories/stack_name"));
+    Assert.assertTrue(validPropertyIds.contains("Repositories/stack_version"));
+    Assert.assertTrue(validPropertyIds.contains("Repositories/os_type"));
+    Assert.assertTrue(validPropertyIds.contains("Repositories/base_url"));
+    Assert.assertTrue(validPropertyIds.contains("Repositories/repo_id"));
+    Assert.assertTrue(validPropertyIds.contains("Repositories/repo_name"));
+    Assert.assertTrue(validPropertyIds.contains("Repositories/mirrors_list"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.StackService));
+    validPropertyIds = request.getPropertyIds();
+
+    //Repository resource properties
+    Assert.assertFalse(validPropertyIds.contains("StackServices/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("StackServices/stack_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackServices/stack_version"));
+    Assert.assertTrue(validPropertyIds.contains("StackServices/service_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackServices/user_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackServices/comments"));
+    Assert.assertTrue(validPropertyIds.contains("StackServices/service_version"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.StackConfiguration));
+    validPropertyIds = request.getPropertyIds();
+
+    //StackConfigurations resource properties
+    Assert.assertFalse(validPropertyIds.contains("StackConfigurations/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("StackConfigurations/stack_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackConfigurations/stack_version"));
+    Assert.assertTrue(validPropertyIds.contains("StackConfigurations/service_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackConfigurations/property_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackConfigurations/property_description"));
+    Assert.assertTrue(validPropertyIds.contains("StackConfigurations/property_value"));
+
+    request = PropertyHelper.getReadRequest(PropertyHelper.getPropertyIds(Resource.Type.StackServiceComponent));
+    validPropertyIds = request.getPropertyIds();
+
+    //StackServiceComponent resource properties
+    Assert.assertFalse(validPropertyIds.contains("StackServiceComponents/unsupported_property_id"));
+    Assert.assertTrue(validPropertyIds.contains("StackServiceComponents/stack_version"));
+    Assert.assertTrue(validPropertyIds.contains("StackServiceComponents/stack_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackServiceComponents/service_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackServiceComponents/component_name"));
+    Assert.assertTrue(validPropertyIds.contains("StackServiceComponents/component_category"));
+    Assert.assertTrue(validPropertyIds.contains("StackServiceComponents/is_master"));
+    Assert.assertTrue(validPropertyIds.contains("StackServiceComponents/is_client"));
+  }
 }