You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by su...@apache.org on 2016/04/21 18:08:14 UTC
knox git commit: KNOX-705 Improvement on 404 error messages with
ambari views
Repository: knox
Updated Branches:
refs/heads/master 2eb51e601 -> a738b878b
KNOX-705 Improvement on 404 error messages with ambari views
Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/a738b878
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/a738b878
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/a738b878
Branch: refs/heads/master
Commit: a738b878b39c92046fedf15dfaed577598fc8c43
Parents: 2eb51e6
Author: Sumit Gupta <su...@apache.org>
Authored: Thu Apr 21 12:07:49 2016 -0400
Committer: Sumit Gupta <su...@apache.org>
Committed: Thu Apr 21 12:07:49 2016 -0400
----------------------------------------------------------------------
.../resources/services/ambari/2.2.0/rewrite.xml | 9 +-
.../gateway/AmbariServiceDefinitionTest.java | 46 ++-
.../views-response-expected.json | 328 +++++++++++++++++++
.../views-response.json | 328 +++++++++++++++++++
4 files changed, 707 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/knox/blob/a738b878/gateway-service-definitions/src/main/resources/services/ambari/2.2.0/rewrite.xml
----------------------------------------------------------------------
diff --git a/gateway-service-definitions/src/main/resources/services/ambari/2.2.0/rewrite.xml b/gateway-service-definitions/src/main/resources/services/ambari/2.2.0/rewrite.xml
index 7c2a825..6284b64 100644
--- a/gateway-service-definitions/src/main/resources/services/ambari/2.2.0/rewrite.xml
+++ b/gateway-service-definitions/src/main/resources/services/ambari/2.2.0/rewrite.xml
@@ -19,12 +19,17 @@
<rewrite template="{$serviceUrl[AMBARI]}/api/v1/{path=**}?{**}"/>
</rule>
<rule dir="OUT" name="AMBARI/ambari/href/outbound">
- <match pattern="*://*:*/api/{**}"/>
- <rewrite template="{$frontend[url]}/ambari/api/{**}"/>
+ <match pattern="*://*:*/api/{path=**}?{**}"/>
+ <rewrite template="{$frontend[url]}/ambari/api/{path=**}?{**}"/>
+ </rule>
+ <rule dir="OUT" name="AMBARI/ambari/context_path/outbound">
+ <match pattern="/{**}"/>
+ <rewrite template="{$frontend[path]}/ambari/{**}"/>
</rule>
<filter name="AMBARI/ambari/api/outbound">
<content type="text/plain" asType="application/json">
<apply path="$.**.href" rule="AMBARI/ambari/href/outbound"/>
+ <apply path="$.**.context_path" rule="AMBARI/ambari/context_path/outbound"/>
</content>
</filter>
<filter name="AMBARI/ambari/api/inbound">
http://git-wip-us.apache.org/repos/asf/knox/blob/a738b878/gateway-test/src/test/java/org/apache/hadoop/gateway/AmbariServiceDefinitionTest.java
----------------------------------------------------------------------
diff --git a/gateway-test/src/test/java/org/apache/hadoop/gateway/AmbariServiceDefinitionTest.java b/gateway-test/src/test/java/org/apache/hadoop/gateway/AmbariServiceDefinitionTest.java
index b9f19b7..9441e2a 100644
--- a/gateway-test/src/test/java/org/apache/hadoop/gateway/AmbariServiceDefinitionTest.java
+++ b/gateway-test/src/test/java/org/apache/hadoop/gateway/AmbariServiceDefinitionTest.java
@@ -65,6 +65,7 @@ public class AmbariServiceDefinitionTest {
private static int gatewayPort;
private static String gatewayUrl;
private static String clusterUrl;
+ private static String clusterPath;
private static Properties params;
private static TopologyService topos;
private static MockServer mockAmbari;
@@ -150,7 +151,9 @@ public class AmbariServiceDefinitionTest {
gatewayPort = gateway.getAddresses()[0].getPort();
gatewayUrl = "http://localhost:" + gatewayPort + "/" + config.getGatewayPath();
- clusterUrl = gatewayUrl + "/test-topology";
+ String topologyPath = "/test-topology";
+ clusterPath = "/" + config.getGatewayPath() + topologyPath;
+ clusterUrl = gatewayUrl + topologyPath;
LOG.info( "Gateway port = " + gateway.getAddresses()[ 0 ].getPort() );
@@ -165,7 +168,7 @@ public class AmbariServiceDefinitionTest {
context = new VelocityContext();
context.put( "cluster_url", clusterUrl );
-
+ context.put( "cluster_path", clusterPath );
}
@Test( timeout = TestUtils.MEDIUM_TIMEOUT )
@@ -322,4 +325,43 @@ public class AmbariServiceDefinitionTest {
LOG_EXIT();
}
+ @Test( timeout = TestUtils.MEDIUM_TIMEOUT )
+ public void contextPathInViewsResponse() throws Exception {
+ LOG_ENTER();
+
+ String username = "guest";
+ String password = "guest-password";
+
+ String serviceUrl = clusterUrl + "/ambari/api/v1/views?fields=versions/instances/ViewInstanceInfo,versions/" +
+ "ViewVersionInfo/label&versions/ViewVersionInfo/system=false&_=1461186937589";
+
+ mockAmbari.expect()
+ .method( "GET" )
+ .pathInfo( "/api/v1/views" )
+ .queryParam("_", "1461186937589")
+ .queryParam("versions/ViewVersionInfo/system", "false")
+ .queryParam("fields", "versions/instances/ViewInstanceInfo,versions/ViewVersionInfo/label")
+ .respond()
+ .status( HttpStatus.SC_OK )
+ .content( TestUtils.getResourceStream( DAT, "views-response.json" ) )
+ .contentType( "text/plain" );
+
+ String body = given()
+ .auth().preemptive().basic( username, password )
+ .expect()
+ .statusCode( HttpStatus.SC_OK )
+ .contentType( "text/plain" )
+ .when().get( serviceUrl ).asString();
+
+
+ String name = TestUtils.getResourceName( this.getClass(), "views-response-expected.json" );
+ Template template = velocity.getTemplate( name );
+ StringWriter sw = new StringWriter();
+ template.merge( context, sw );
+ String expected = sw.toString();
+
+ MatcherAssert.assertThat(body, sameJSONAs(expected));
+ LOG_EXIT();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/knox/blob/a738b878/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response-expected.json
----------------------------------------------------------------------
diff --git a/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response-expected.json b/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response-expected.json
new file mode 100644
index 0000000..e5e3e29
--- /dev/null
+++ b/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response-expected.json
@@ -0,0 +1,328 @@
+{
+ "href" : "$cluster_url/ambari/api/v1/views?_=1461186937589",
+ "items" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/CAPACITY-SCHEDULER",
+ "ViewInfo" : {
+ "view_name" : "CAPACITY-SCHEDULER"
+ },
+ "versions" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/CAPACITY-SCHEDULER/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Capacity Scheduler",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "CAPACITY-SCHEDULER"
+ },
+ "instances" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/CAPACITY-SCHEDULER/versions/1.0.0/instances/AUTO_CS_INSTANCE",
+ "ViewInstanceInfo" : {
+ "cluster_handle" : "test",
+ "context_path" : "$cluster_path/ambari/views/CAPACITY-SCHEDULER/1.0.0/AUTO_CS_INSTANCE",
+ "description" : "Manage YARN Capacity Scheduler Queues",
+ "icon64_path" : null,
+ "icon_path" : null,
+ "instance_name" : "AUTO_CS_INSTANCE",
+ "label" : "YARN Queue Manager",
+ "static" : false,
+ "validation_result" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "version" : "1.0.0",
+ "view_name" : "CAPACITY-SCHEDULER",
+ "visible" : true,
+ "instance_data" : { },
+ "properties" : {
+ "ambari.server.password" : null,
+ "ambari.server.url" : null,
+ "ambari.server.username" : null
+ },
+ "property_validation_results" : {
+ "ambari.server.password" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "ambari.server.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "ambari.server.username" : {
+ "valid" : true,
+ "detail" : "OK"
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/FILES",
+ "ViewInfo" : {
+ "view_name" : "FILES"
+ },
+ "versions" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/FILES/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Files",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "FILES"
+ },
+ "instances" : [ ]
+ }
+ ]
+ },
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/HIVE",
+ "ViewInfo" : {
+ "view_name" : "HIVE"
+ },
+ "versions" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/HIVE/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Hive",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "HIVE"
+ },
+ "instances" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/HIVE/versions/1.0.0/instances/AUTO_HIVE_INSTANCE",
+ "ViewInstanceInfo" : {
+ "cluster_handle" : "test",
+ "context_path" : "$cluster_path/ambari/views/HIVE/1.0.0/AUTO_HIVE_INSTANCE",
+ "description" : "This view instance is auto created when the Hive service is added to a cluster.",
+ "icon64_path" : null,
+ "icon_path" : null,
+ "instance_name" : "AUTO_HIVE_INSTANCE",
+ "label" : "Hive View",
+ "static" : false,
+ "validation_result" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "version" : "1.0.0",
+ "view_name" : "HIVE",
+ "visible" : true,
+ "instance_data" : { },
+ "properties" : {
+ "hdfs.auth_to_local" : null,
+ "hdfs.umask-mode" : "022",
+ "hive.auth" : "auth=NONE",
+ "hive.host" : null,
+ "hive.http.path" : "cliservice",
+ "hive.http.port" : "10001",
+ "hive.metastore.warehouse.dir" : "/apps/hive/warehouse",
+ "hive.port" : "10000",
+ "hive.transport.mode" : "binary",
+ "jobs.dir" : "/user/${username}/hive/jobs",
+ "scripts.dir" : "/user/${username}/hive/scripts",
+ "scripts.settings.defaults-file" : "/user/${username}/.${instanceName}.defaultSettings",
+ "views.tez.instance" : null,
+ "webhdfs.auth" : null,
+ "webhdfs.client.failover.proxy.provider" : null,
+ "webhdfs.ha.namenode.http-address.nn1" : null,
+ "webhdfs.ha.namenode.http-address.nn2" : null,
+ "webhdfs.ha.namenode.rpc-address.nn1" : null,
+ "webhdfs.ha.namenode.rpc-address.nn2" : null,
+ "webhdfs.ha.namenodes.list" : null,
+ "webhdfs.nameservices" : null,
+ "webhdfs.url" : null,
+ "webhdfs.username" : "${username}",
+ "yarn.ats.url" : null,
+ "yarn.resourcemanager.url" : null
+ },
+ "property_validation_results" : {
+ "hdfs.auth_to_local" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hdfs.umask-mode" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.auth" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.host" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.http.path" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.http.port" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.metastore.warehouse.dir" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.port" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.transport.mode" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "jobs.dir" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "scripts.dir" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "scripts.settings.defaults-file" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "views.tez.instance" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.auth" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.client.failover.proxy.provider" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.http-address.nn1" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.http-address.nn2" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.rpc-address.nn1" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.rpc-address.nn2" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenodes.list" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.nameservices" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.username" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "yarn.ats.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "yarn.resourcemanager.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/PIG",
+ "ViewInfo" : {
+ "view_name" : "PIG"
+ },
+ "versions" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/PIG/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Pig",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "PIG"
+ },
+ "instances" : [ ]
+ }
+ ]
+ },
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/SLIDER",
+ "ViewInfo" : {
+ "view_name" : "SLIDER"
+ },
+ "versions" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/SLIDER/versions/2.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Slider Apps View",
+ "system" : false,
+ "version" : "2.0.0",
+ "view_name" : "SLIDER"
+ },
+ "instances" : [ ]
+ }
+ ]
+ },
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/TEZ",
+ "ViewInfo" : {
+ "view_name" : "TEZ"
+ },
+ "versions" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/TEZ/versions/0.7.0.2.3.4.0-4740",
+ "ViewVersionInfo" : {
+ "label" : "Tez View",
+ "system" : false,
+ "version" : "0.7.0.2.3.4.0-4740",
+ "view_name" : "TEZ"
+ },
+ "instances" : [
+ {
+ "href" : "$cluster_url/ambari/api/v1/views/TEZ/versions/0.7.0.2.3.4.0-4740/instances/TEZ_CLUSTER_INSTANCE",
+ "ViewInstanceInfo" : {
+ "cluster_handle" : "test",
+ "context_path" : "$cluster_path/ambari/views/TEZ/0.7.0.2.3.4.0-4740/TEZ_CLUSTER_INSTANCE",
+ "description" : "Monitor and debug all Tez jobs, submitted by Hive queries and Pig scripts (auto-created)",
+ "icon64_path" : null,
+ "icon_path" : null,
+ "instance_name" : "TEZ_CLUSTER_INSTANCE",
+ "label" : "Tez View",
+ "static" : false,
+ "version" : "0.7.0.2.3.4.0-4740",
+ "view_name" : "TEZ",
+ "visible" : true,
+ "instance_data" : { },
+ "properties" : {
+ "hdfs.auth_to_local" : null,
+ "yarn.resourcemanager.url" : null,
+ "yarn.timeline-server.url" : null
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/knox/blob/a738b878/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response.json
----------------------------------------------------------------------
diff --git a/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response.json b/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response.json
new file mode 100644
index 0000000..880031c
--- /dev/null
+++ b/gateway-test/src/test/resources/org/apache/hadoop/gateway/AmbariServiceDefinitionTest/views-response.json
@@ -0,0 +1,328 @@
+{
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views?_=1461186937589",
+ "items" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/CAPACITY-SCHEDULER",
+ "ViewInfo" : {
+ "view_name" : "CAPACITY-SCHEDULER"
+ },
+ "versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/CAPACITY-SCHEDULER/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Capacity Scheduler",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "CAPACITY-SCHEDULER"
+ },
+ "instances" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/CAPACITY-SCHEDULER/versions/1.0.0/instances/AUTO_CS_INSTANCE",
+ "ViewInstanceInfo" : {
+ "cluster_handle" : "test",
+ "context_path" : "/views/CAPACITY-SCHEDULER/1.0.0/AUTO_CS_INSTANCE",
+ "description" : "Manage YARN Capacity Scheduler Queues",
+ "icon64_path" : null,
+ "icon_path" : null,
+ "instance_name" : "AUTO_CS_INSTANCE",
+ "label" : "YARN Queue Manager",
+ "static" : false,
+ "validation_result" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "version" : "1.0.0",
+ "view_name" : "CAPACITY-SCHEDULER",
+ "visible" : true,
+ "instance_data" : { },
+ "properties" : {
+ "ambari.server.password" : null,
+ "ambari.server.url" : null,
+ "ambari.server.username" : null
+ },
+ "property_validation_results" : {
+ "ambari.server.password" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "ambari.server.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "ambari.server.username" : {
+ "valid" : true,
+ "detail" : "OK"
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/FILES",
+ "ViewInfo" : {
+ "view_name" : "FILES"
+ },
+ "versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/FILES/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Files",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "FILES"
+ },
+ "instances" : [ ]
+ }
+ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/HIVE",
+ "ViewInfo" : {
+ "view_name" : "HIVE"
+ },
+ "versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/HIVE/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Hive",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "HIVE"
+ },
+ "instances" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/HIVE/versions/1.0.0/instances/AUTO_HIVE_INSTANCE",
+ "ViewInstanceInfo" : {
+ "cluster_handle" : "test",
+ "context_path" : "/views/HIVE/1.0.0/AUTO_HIVE_INSTANCE",
+ "description" : "This view instance is auto created when the Hive service is added to a cluster.",
+ "icon64_path" : null,
+ "icon_path" : null,
+ "instance_name" : "AUTO_HIVE_INSTANCE",
+ "label" : "Hive View",
+ "static" : false,
+ "validation_result" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "version" : "1.0.0",
+ "view_name" : "HIVE",
+ "visible" : true,
+ "instance_data" : { },
+ "properties" : {
+ "hdfs.auth_to_local" : null,
+ "hdfs.umask-mode" : "022",
+ "hive.auth" : "auth=NONE",
+ "hive.host" : null,
+ "hive.http.path" : "cliservice",
+ "hive.http.port" : "10001",
+ "hive.metastore.warehouse.dir" : "/apps/hive/warehouse",
+ "hive.port" : "10000",
+ "hive.transport.mode" : "binary",
+ "jobs.dir" : "/user/${username}/hive/jobs",
+ "scripts.dir" : "/user/${username}/hive/scripts",
+ "scripts.settings.defaults-file" : "/user/${username}/.${instanceName}.defaultSettings",
+ "views.tez.instance" : null,
+ "webhdfs.auth" : null,
+ "webhdfs.client.failover.proxy.provider" : null,
+ "webhdfs.ha.namenode.http-address.nn1" : null,
+ "webhdfs.ha.namenode.http-address.nn2" : null,
+ "webhdfs.ha.namenode.rpc-address.nn1" : null,
+ "webhdfs.ha.namenode.rpc-address.nn2" : null,
+ "webhdfs.ha.namenodes.list" : null,
+ "webhdfs.nameservices" : null,
+ "webhdfs.url" : null,
+ "webhdfs.username" : "${username}",
+ "yarn.ats.url" : null,
+ "yarn.resourcemanager.url" : null
+ },
+ "property_validation_results" : {
+ "hdfs.auth_to_local" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hdfs.umask-mode" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.auth" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.host" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.http.path" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.http.port" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.metastore.warehouse.dir" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.port" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "hive.transport.mode" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "jobs.dir" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "scripts.dir" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "scripts.settings.defaults-file" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "views.tez.instance" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.auth" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.client.failover.proxy.provider" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.http-address.nn1" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.http-address.nn2" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.rpc-address.nn1" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenode.rpc-address.nn2" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.ha.namenodes.list" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.nameservices" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "webhdfs.username" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "yarn.ats.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ },
+ "yarn.resourcemanager.url" : {
+ "valid" : true,
+ "detail" : "OK"
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/PIG",
+ "ViewInfo" : {
+ "view_name" : "PIG"
+ },
+ "versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/PIG/versions/1.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Pig",
+ "system" : false,
+ "version" : "1.0.0",
+ "view_name" : "PIG"
+ },
+ "instances" : [ ]
+ }
+ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/SLIDER",
+ "ViewInfo" : {
+ "view_name" : "SLIDER"
+ },
+ "versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/SLIDER/versions/2.0.0",
+ "ViewVersionInfo" : {
+ "label" : "Slider Apps View",
+ "system" : false,
+ "version" : "2.0.0",
+ "view_name" : "SLIDER"
+ },
+ "instances" : [ ]
+ }
+ ]
+ },
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/TEZ",
+ "ViewInfo" : {
+ "view_name" : "TEZ"
+ },
+ "versions" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/TEZ/versions/0.7.0.2.3.4.0-4740",
+ "ViewVersionInfo" : {
+ "label" : "Tez View",
+ "system" : false,
+ "version" : "0.7.0.2.3.4.0-4740",
+ "view_name" : "TEZ"
+ },
+ "instances" : [
+ {
+ "href" : "http://c6401.ambari.apache.org:8080/api/v1/views/TEZ/versions/0.7.0.2.3.4.0-4740/instances/TEZ_CLUSTER_INSTANCE",
+ "ViewInstanceInfo" : {
+ "cluster_handle" : "test",
+ "context_path" : "/views/TEZ/0.7.0.2.3.4.0-4740/TEZ_CLUSTER_INSTANCE",
+ "description" : "Monitor and debug all Tez jobs, submitted by Hive queries and Pig scripts (auto-created)",
+ "icon64_path" : null,
+ "icon_path" : null,
+ "instance_name" : "TEZ_CLUSTER_INSTANCE",
+ "label" : "Tez View",
+ "static" : false,
+ "version" : "0.7.0.2.3.4.0-4740",
+ "view_name" : "TEZ",
+ "visible" : true,
+ "instance_data" : { },
+ "properties" : {
+ "hdfs.auth_to_local" : null,
+ "yarn.resourcemanager.url" : null,
+ "yarn.timeline-server.url" : null
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file