Author: krisden
Date: Thu Dec  6 17:17:03 2018
New Revision: 1848343

URL: http://svn.apache.org/viewvc?rev=1848343&view=rev
Log:
KNOX-1640 - Documentation improvements (Lars Francke via Kevin Risden)

Modified:
    knox/site/books/knox-1-2-0/dev-guide.html
    knox/site/books/knox-1-2-0/user-guide.html
    knox/site/index.html
    knox/site/issue-management.html
    knox/site/licenses.html
    knox/site/mailing-lists.html
    knox/site/project-info.html
    knox/site/team.html
    knox/trunk/books/1.2.0/book.md
    knox/trunk/books/1.2.0/book_gateway-details.md
    knox/trunk/books/1.2.0/book_getting-started.md
    knox/trunk/books/1.2.0/book_service-details.md
    knox/trunk/books/1.2.0/config_authn.md
    knox/trunk/books/1.2.0/dev-guide/book.md
    knox/trunk/books/1.2.0/knox_cli.md
    knox/trunk/books/1.2.0/service_elasticsearch.md
    knox/trunk/books/1.2.0/service_service_test.md
    knox/trunk/books/1.2.0/service_solr.md

Modified: knox/site/books/knox-1-2-0/dev-guide.html
URL: 
http://svn.apache.org/viewvc/knox/site/books/knox-1-2-0/dev-guide.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/books/knox-1-2-0/dev-guide.html (original)
+++ knox/site/books/knox-1-2-0/dev-guide.html Thu Dec  6 17:17:03 2018
@@ -985,7 +985,7 @@ rewrite.xml
 <p>If Knox doesn&rsquo;t find that file, it will check for a Java system 
property named 
<strong>org.apache.gateway.topology.discovery.ambari.config</strong>, whose 
value is the fully-qualified path to an XML file. This file&rsquo;s contents 
must adhere to the format outlined above.</p>
 <p>If this configuration exists, Knox will apply it as if it were part of the 
internal configuration.</p>
 <p><strong>Example</strong></p>
-<p>If Apache SOLR weren&rsquo;t supported, then it could be added by creating 
the following definition in 
<strong><em>{GATEWAY_HOME}</em>/conf/ambari-discovery-url-mappings.xml</strong> 
:</p>
+<p>If Apache Solr weren&rsquo;t supported, then it could be added by creating 
the following definition in 
<strong><em>{GATEWAY_HOME}</em>/conf/ambari-discovery-url-mappings.xml</strong> 
:</p>
 <pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
 &lt;service-discovery-url-mappings&gt;
   &lt;service name=&quot;SOLR&quot;&gt;

Modified: knox/site/books/knox-1-2-0/user-guide.html
URL: 
http://svn.apache.org/viewvc/knox/site/books/knox-1-2-0/user-guide.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/books/knox-1-2-0/user-guide.html (original)
+++ knox/site/books/knox-1-2-0/user-guide.html Thu Dec  6 17:17:03 2018
@@ -123,10 +123,10 @@
       <li><a href="#Yarn">Yarn</a></li>
       <li><a href="#Kafka">Kafka</a></li>
       <li><a href="#Storm">Storm</a></li>
-      <li><a href="#SOLR">SOLR</a></li>
+      <li><a href="#Solr">Solr</a></li>
       <li><a href="#Avatica">Avatica</a></li>
       <li><a href="#Livy+Server">Livy Server</a></li>
-      <li><a href="#ElasticSearch">ElasticSearch</a></li>
+      <li><a href="#Elasticsearch">Elasticsearch</a></li>
       <li><a href="#Common+Service+Config">Common Service Config</a></li>
       <li><a href="#Default+Service+HA+support">Default Service HA 
support</a></li>
     </ul>
@@ -457,10 +457,10 @@ curl -i -k -u guest:guest-password -X GE
       <td><img src="error.png" alt="n" title="No" /></td>
     </tr>
     <tr>
-      <td>SOLR </td>
+      <td>Solr </td>
       <td>5.5+ and 6+ </td>
       <td><img src="check.png" alt="y" title="Yes" /> </td>
-      <td><img src="error.png" alt="n" title="No" /> </td>
+      <td><img src="check.png" alt="y" title="Yes" /> </td>
       <td><img src="check.png" alt="y" title="Yes" /></td>
     </tr>
   </tbody>
@@ -535,7 +535,7 @@ curl -i -k -u guest:guest-password -X GE
    limitations under the License.
 -->
 <h2><a id="Gateway+Details">Gateway Details</a> <a 
href="#Gateway+Details"><img src="markbook-section-link.png"/></a></h2>
-<p>This section describes the details of the Knox Gateway itself. Including: 
</p>
+<p>This section describes the details of the Knox Gateway itself. 
Including:</p>
 <ul>
   <li>How URLs are mapped between a gateway that services multiple Hadoop 
clusters and the clusters themselves</li>
   <li>How the gateway is configured through <code>gateway-site.xml</code> and 
cluster specific topology files</li>
@@ -547,8 +547,8 @@ curl -i -k -u guest:guest-password -X GE
 <p>In order to provide compatibility with the Hadoop Java client and existing 
CLI tools, the Knox Gateway has provided a feature called the <em>Default 
Topology</em>. This refers to a topology deployment that will be able to route 
URLs without the additional context that the gateway uses for differentiating 
from one Hadoop cluster to another. This allows the URLs to match those used by 
existing clients that may access WebHDFS through the Hadoop file system 
abstraction.</p>
 <p>When a topology file is deployed with a file name that matches the 
configured default topology name, a specialized mapping for URLs is installed 
for that particular topology. This allows the URLs that are expected by the 
existing Hadoop CLIs for WebHDFS to be used in interacting with the specific 
Hadoop cluster that is represented by the default topology file.</p>
 <p>The configuration for the default topology name is found in 
<code>gateway-site.xml</code> as a property called: 
<code>default.app.topology.name</code>.</p>
-<p>The default value for this property is <code>sandbox</code>.</p>
-<p>Therefore, when deploying the <code>sandbox.xml</code> topology, both of 
the following example URLs work for the same underlying Hadoop cluster:</p>
+<p>The default value for this property is empty.</p>
+<p>When deploying the <code>sandbox.xml</code> topology and setting 
<code>default.app.topology.name</code> to <code>sandbox</code>, both of the 
following example URLs work for the same underlying Hadoop cluster:</p>
 <pre><code>https://{gateway-host}:{gateway-port}/webhdfs
 https://{gateway-host}:{gateway-port}/{gateway-path}/{cluster-name}/webhdfs
 </code></pre>
@@ -591,7 +591,7 @@ https://{gateway-host}:{gateway-port}/{g
 <p>The value for <code>{cluster-name}</code> is derived from the file name of 
the cluster topology descriptor (e.g. 
<code>{GATEWAY_HOME}/deployments/{cluster-name}.xml</code>).</p>
 <p>The value for <code>{webhdfs-host}</code>, <code>{webhcat-host}</code>, 
<code>{oozie-host}</code>, <code>{hbase-host}</code> and 
<code>{hive-host}</code> are provided via the cluster topology descriptor (e.g. 
<code>{GATEWAY_HOME}/conf/topologies/{cluster-name}.xml</code>).</p>
 <p>Note: The ports 50070 (9870 for Hadoop 3.x), 50111, 11000, 8080 and 10001 
are the defaults for WebHDFS, WebHCat, Oozie, HBase and Hive respectively. 
Their values can also be provided via the cluster topology descriptor if your 
Hadoop cluster uses different ports.</p>
-<p>Note: The HBase REST API uses port 8080 by default. This often clashes with 
other running services. In the Hortonworks Sandbox, Apache Ambari might be 
running on this port, so you might have to change it to a different port (e.g. 
60080). </p>
+<p>Note: The HBase REST API uses port 8080 by default. This often clashes with 
other running services. In the Hortonworks Sandbox, Apache Ambari might be 
running on this port, so you might have to change it to a different port (e.g. 
60080).</p>
 <h4><a id="Topology+Port+Mapping">Topology Port Mapping</a> <a 
href="#Topology+Port+Mapping"><img src="markbook-section-link.png"/></a></h4>
 <p>This feature allows mapping of a topology to a port, as a result one can 
have a specific topology listening on a configured port. This feature routes 
URLs to these port-mapped topologies without the additional context that the 
gateway uses for differentiating from one Hadoop cluster to another, just like 
the <a href="#Default+Topology+URLs">Default Topology URLs</a> feature, but on 
a dedicated port. </p>
 <p>The configuration for Topology Port Mapping goes in 
<code>gateway-site.xml</code> file. The configuration uses the property name 
and value model to configure the settings for this feature. The format for the 
property name is <code>gateway.port.mapping.{topologyName}</code> and value is 
the port number that this topology would listen on. </p>
@@ -1612,12 +1612,17 @@ keytool -keystore gateway.jks -storepass
 <h5><a id="`bin/knoxcli.sh+version+[--help]`"><code>bin/knoxcli.sh version 
[--help]</code></a> <a href="#`bin/knoxcli.sh+version+[--help]`"><img 
src="markbook-section-link.png"/></a></h5>
 <p>Displays Knox version information.</p>
 <h4><a id="Master+secret+persistence">Master secret persistence</a> <a 
href="#Master+secret+persistence"><img 
src="markbook-section-link.png"/></a></h4>
-<h5><a 
id="`bin/knoxcli.sh+create-master+[--force][--help]`"><code>bin/knoxcli.sh 
create-master [--force][--help]</code></a> <a 
href="#`bin/knoxcli.sh+create-master+[--force][--help]`"><img 
src="markbook-section-link.png"/></a></h5>
-<p>Creates and persists an encrypted master secret in a file within 
<code>{GATEWAY_HOME}/data/security/master</code>. </p>
+<h5><a 
id="`bin/knoxcli.sh+create-master+[--force]+[--master+mastersecret]+[--generate]`"><code>bin/knoxcli.sh
 create-master [--force] [--master mastersecret] [--generate]</code></a> <a 
href="#`bin/knoxcli.sh+create-master+[--force]+[--master+mastersecret]+[--generate]`"><img
 src="markbook-section-link.png"/></a></h5>
+<p>The create-master command persists the master secret in a file located at: 
<code>{GATEWAY_HOME}/data/security/master</code>.</p>
+<p>It will prompt the user for the secret to persist.</p>
+<p>Use <code>--force</code> to overwrite the master secret.</p>
+<p>Use <code>--master</code> to pass in a master secret to persist. This can 
be used to persist the secret without any user interaction. Be careful as the 
secret might appear in shell histories or process listings.<br/> Instead of 
<code>--master</code> it is usually a better idea to use 
<code>--generate</code> instead!</p>
+<p>Use <code>--generate</code> to have Knox automatically generate a random 
secret. The generated secret will not be printed or otherwise exposed.</p>
+<p>Do not specify both <code>--master</code> and <code>--generate</code> at 
the same time.</p>
 <p>NOTE: This command fails when there is an existing master file in the 
expected location. You may force it to overwrite the master file with the 
--force switch. NOTE: this will require you to change passwords protecting the 
keystores for the gateway identity keystores and all credential stores.</p>
 <h4><a id="Alias+creation">Alias creation</a> <a href="#Alias+creation"><img 
src="markbook-section-link.png"/></a></h4>
 <h5><a 
id="`bin/knoxcli.sh+create-alias+name+[--cluster+c]+[--value+v]+[--generate]+[--help]`"><code>bin/knoxcli.sh
 create-alias name [--cluster c] [--value v] [--generate] [--help]</code></a> 
<a 
href="#`bin/knoxcli.sh+create-alias+name+[--cluster+c]+[--value+v]+[--generate]+[--help]`"><img
 src="markbook-section-link.png"/></a></h5>
-<p>Creates a password alias and stores it in a credential store within the 
<code>{GATEWAY_HOME}/data/security/keystores</code> dir. </p>
+<p>Creates a password alias and stores it in a credential store within the 
<code>{GATEWAY_HOME}/data/security/keystores</code> dir.</p>
 <table>
   <thead>
     <tr>
@@ -1685,7 +1690,7 @@ keytool -keystore gateway.jks -storepass
 </table>
 <h4><a id="Self-signed+cert+creation">Self-signed cert creation</a> <a 
href="#Self-signed+cert+creation"><img 
src="markbook-section-link.png"/></a></h4>
 <h5><a 
id="`bin/knoxcli.sh+create-cert+[--hostname+n]+[--help]`"><code>bin/knoxcli.sh 
create-cert [--hostname n] [--help]</code></a> <a 
href="#`bin/knoxcli.sh+create-cert+[--hostname+n]+[--help]`"><img 
src="markbook-section-link.png"/></a></h5>
-<p>Creates and stores a self-signed certificate to represent the identity of 
the gateway instance. This is stored within the 
<code>{GATEWAY_HOME}/data/security/keystores/gateway.jks</code> keystore. </p>
+<p>Creates and stores a self-signed certificate to represent the identity of 
the gateway instance. This is stored within the 
<code>{GATEWAY_HOME}/data/security/keystores/gateway.jks</code> keystore.</p>
 <table>
   <thead>
     <tr>
@@ -1765,7 +1770,7 @@ keytool -keystore gateway.jks -storepass
 </table>
 <h4><a id="Topology+LDAP+Bind">Topology LDAP Bind</a> <a 
href="#Topology+LDAP+Bind"><img src="markbook-section-link.png"/></a></h4>
 <h5><a 
id="`bin/knoxcli.sh+system-user-auth-test+[--cluster+c]+[--d]+[--help]`"><code>bin/knoxcli.sh
 system-user-auth-test [--cluster c] [--d] [--help]</code></a> <a 
href="#`bin/knoxcli.sh+system-user-auth-test+[--cluster+c]+[--d]+[--help]`"><img
 src="markbook-section-link.png"/></a></h5>
-<p>This command will test a given topology&rsquo;s ability to connect, bind, 
and authenticate with the LDAP server from the settings specified in the 
topology file. The bind currently only will with Shiro as the authentication 
provider. There are also two parameters required inside of the topology for 
these </p>
+<p>This command will test a given topology&rsquo;s ability to connect, bind, 
and authenticate with the LDAP server from the settings specified in the 
topology file. The bind currently only will with Shiro as the authentication 
provider. There are also two parameters required inside of the topology for 
these</p>
 <table>
   <thead>
     <tr>
@@ -2594,7 +2599,7 @@ ldapRealm.userDnTemplate=uid={0},ou=peop
 <ol>
   <li><strong>main.ldapRealm.contextFactory.url</strong> must be changed to 
have the <code>ldaps</code> protocol scheme and the port must be the SSL 
listener port on your LDAP server.</li>
   <li>Identity certificate (keypair) provisioned to LDAP server - your LDAP 
server specific documentation should indicate what is required for providing a 
cert or keypair to represent the LDAP server identity to connecting 
clients.</li>
-  <li>Trusting the LDAP Server&rsquo;s public key - if the LDAP Server&rsquo;s 
identity certificate is issued by a well known and trusted certificate 
authority and is already represented in the JRE&rsquo;s cacerts truststore then 
you don&rsquo;t need to do anything for trusting the LDAP server&rsquo;s cert. 
If, however, the cert is self-signed or issued by an untrusted authority you 
will need to either add it to the cacerts keystore or to another truststore 
that you may direct Knox to utilize through a system property.</li>
+  <li>Trusting the LDAP Server&rsquo;s public key - if the LDAP Server&rsquo;s 
identity certificate is issued by a well known and trusted certificate 
authority and is already represented in the JRE&rsquo;s cacerts truststore then 
you don&rsquo;t need to do anything for trusting the LDAP server&rsquo;s cert. 
If, however, the cert is self-signed or issued by an untrusted authority you 
will need to either add it to the cacerts keystore or to another truststore 
that you may direct Knox to utilize through a system property 
(<code>javax.net.ssl.trustStore</code> and 
<code>javax.net.ssl.trustStorePassword</code>).</li>
 </ol>
 <h4><a id="Session+Configuration">Session Configuration</a> <a 
href="#Session+Configuration"><img src="markbook-section-link.png"/></a></h4>
 <p>Knox maps each cluster topology to a web application and leverages standard 
JavaEE session management.</p>
@@ -5757,10 +5762,10 @@ dep/commons-codec-1.7.jar
   <li><a href="#Yarn">Yarn</a></li>
   <li><a href="#Kafka">Kafka</a></li>
   <li><a href="#Storm">Storm</a></li>
-  <li><a href="#SOLR">SOLR</a></li>
+  <li><a href="#Solr">Solr</a></li>
   <li><a href="#Avatica">Avatica</a></li>
   <li><a href="#Livy+Server">Livy Server</a></li>
-  <li><a href="#ElasticSearch">ElasticSearch</a></li>
+  <li><a href="#Elasticsearch">Elasticsearch</a></li>
 </ul>
 <h3><a id="Assumptions">Assumptions</a> <a href="#Assumptions"><img 
src="markbook-section-link.png"/></a></h3>
 <p>This document assumes a few things about your environment in order to 
simplify the examples.</p>
@@ -7725,6 +7730,13 @@ SolrJ API at this time.</p>
 &lt;/service&gt;
 </code></pre>
 <p>The default Solr port is 8983. Adjust the version specified to either 
&rsquo;5.5.0 or &lsquo;6.0.0&rsquo;.</p>
+<p>For Solr 5.5.0 you also need to change the role name to 
<code>SOLRAPI</code> like this:</p>
+<pre><code>&lt;service&gt;
+    &lt;role&gt;SOLRAPI&lt;/role&gt;
+    &lt;version&gt;5.5.0&lt;/version&gt;
+    &lt;url&gt;http://&lt;solr-host&gt;:&lt;solr-port&gt;&lt;/url&gt;
+&lt;/service&gt;
+</code></pre>
 <h4><a id="Solr+URL+Mapping">Solr URL Mapping</a> <a 
href="#Solr+URL+Mapping"><img src="markbook-section-link.png"/></a></h4>
 <p>For Solr URLs, the mapping of Knox Gateway accessible URLs to direct Solr 
URLs is the following.</p>
 <table>
@@ -7966,10 +7978,10 @@ DriverManager.getConnection(url, props);
 } 
 </code></pre>
 <p>The above is an example request body to be used to create a Spark session 
via Livy server and illustrates the &ldquo;proxyUser&rdquo; that requires 
rewrite.</p>
-<h3><a id="ElasticSearch">ElasticSearch</a> <a href="#ElasticSearch"><img 
src="markbook-section-link.png"/></a></h3>
-<p>ElasticSearch provides a REST API for communicating with ElasticSearch via 
JSON over HTTP. ElasticSearch uses X-Pack to do its own security 
(authentication and authorization). Therefore, the Knox Gateway is to forward 
the user credentials to ElasticSearch, and treats the 
ElasticSearch-authenticated user as &ldquo;anonymous&rdquo; to the backend 
service via a doas query param while Knox will authenticate to backend services 
as itself.</p>
+<h3><a id="Elasticsearch">Elasticsearch</a> <a href="#Elasticsearch"><img 
src="markbook-section-link.png"/></a></h3>
+<p>Elasticsearch provides a REST API for communicating with Elasticsearch via 
JSON over HTTP. Elasticsearch uses X-Pack to do its own security 
(authentication and authorization). Therefore, the Knox Gateway is to forward 
the user credentials to Elasticsearch, and treats the 
Elasticsearch-authenticated user as &ldquo;anonymous&rdquo; to the backend 
service via a doas query param while Knox will authenticate to backend services 
as itself.</p>
 <h4><a id="Gateway+configuration">Gateway configuration</a> <a 
href="#Gateway+configuration"><img src="markbook-section-link.png"/></a></h4>
-<p>The Gateway can be configured for ElasticSearch by modifying the topology 
XML file and providing a new service XML file.</p>
+<p>The Gateway can be configured for Elasticsearch by modifying the topology 
XML file and providing a new service XML file.</p>
 <p>In the topology XML file, add the following new service named 
&ldquo;ELASTICSEARCH&rdquo; with the correct elasticsearch-rest-server hostname 
and port number (e.g., 9200):</p>
 <pre><code> &lt;service&gt;
    &lt;role&gt;ELASTICSEARCH&lt;/role&gt;
@@ -7977,16 +7989,16 @@ DriverManager.getConnection(url, props);
    &lt;name&gt;elasticsearch&lt;/name&gt;
  &lt;/service&gt;
 </code></pre>
-<h4><a id="ElasticSearch+via+Knox+Gateway">ElasticSearch via Knox Gateway</a> 
<a href="#ElasticSearch+via+Knox+Gateway"><img 
src="markbook-section-link.png"/></a></h4>
+<h4><a id="Elasticsearch+via+Knox+Gateway">Elasticsearch via Knox Gateway</a> 
<a href="#Elasticsearch+via+Knox+Gateway"><img 
src="markbook-section-link.png"/></a></h4>
 <p>After adding the above to a topology, you can make a cURL request similar 
to the following structures:</p>
-<h5><a id="1.++ElasticSearch+Node+Root+Query">1. ElasticSearch Node Root 
Query</a> <a href="#1.++ElasticSearch+Node+Root+Query"><img 
src="markbook-section-link.png"/></a></h5>
+<h5><a id="1.++Elasticsearch+Node+Root+Query">1. Elasticsearch Node Root 
Query</a> <a href="#1.++Elasticsearch+Node+Root+Query"><img 
src="markbook-section-link.png"/></a></h5>
 <pre><code>curl -i -k -u username:password -H &quot;Accept: 
application/json&quot;  -X GET  
&quot;https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/elasticsearch&quot;
 
 or
 
 curl -i -k -u username:password -H &quot;Accept: application/json&quot;  -X 
GET  
&quot;https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/elasticsearch/&quot;
 </code></pre>
-<p>The quotation marks around the URL, can be single quotes or double quotes 
on both sides, and can also be omitted (Note: This is true for all other 
ElasticSearch queries via Knox). Below is an example response:</p>
+<p>The quotation marks around the URL, can be single quotes or double quotes 
on both sides, and can also be omitted (Note: This is true for all other 
Elasticsearch queries via Knox). Below is an example response:</p>
 <pre><code> HTTP/1.1 200 OK
  Date: Wed, 23 May 2018 16:36:34 GMT
  Content-Type: application/json; charset=UTF-8
@@ -7995,7 +8007,7 @@ curl -i -k -u username:password -H &quot
 
  
{&quot;name&quot;:&quot;w0A80p0&quot;,&quot;cluster_name&quot;:&quot;elasticsearch&quot;,&quot;cluster_uuid&quot;:&quot;poU7j48pSpu5qQONr64HLQ&quot;,&quot;version&quot;:{&quot;number&quot;:&quot;6.2.4&quot;,&quot;build_hash&quot;:&quot;ccec39f&quot;,&quot;build_date&quot;:&quot;2018-04-12T20:37:28.497551Z&quot;,&quot;build_snapshot&quot;:false,&quot;lucene_version&quot;:&quot;7.2.1&quot;,&quot;minimum_wire_compatibility_version&quot;:&quot;5.6.0&quot;,&quot;minimum_index_compatibility_version&quot;:&quot;5.0.0&quot;},&quot;tagline&quot;:&quot;You
 Know, for Search&quot;}
 </code></pre>
-<h5><a 
id="2.++ElasticSearch+Index+-+Creation,+Deletion,+Refreshing+and+Data+Operations+-+Writing,+Updating+and+Retrieval">2.
 ElasticSearch Index - Creation, Deletion, Refreshing and Data Operations - 
Writing, Updating and Retrieval</a> <a 
href="#2.++ElasticSearch+Index+-+Creation,+Deletion,+Refreshing+and+Data+Operations+-+Writing,+Updating+and+Retrieval"><img
 src="markbook-section-link.png"/></a></h5>
+<h5><a 
id="2.++Elasticsearch+Index+-+Creation,+Deletion,+Refreshing+and+Data+Operations+-+Writing,+Updating+and+Retrieval">2.
 Elasticsearch Index - Creation, Deletion, Refreshing and Data Operations - 
Writing, Updating and Retrieval</a> <a 
href="#2.++Elasticsearch+Index+-+Creation,+Deletion,+Refreshing+and+Data+Operations+-+Writing,+Updating+and+Retrieval"><img
 src="markbook-section-link.png"/></a></h5>
 <h6><a id="(1)+Index+Creation">(1) Index Creation</a> <a 
href="#(1)+Index+Creation"><img src="markbook-section-link.png"/></a></h6>
 <pre><code>curl -i -k -u username:password -H &quot;Content-Type: 
application/json&quot;  -X PUT  
&quot;https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/elasticsearch/{index-name}&quot;
  -d &#39;{
 &quot;settings&quot; : {
@@ -8084,16 +8096,16 @@ curl -i -k -u username:password -H &quot
  {&quot;acknowledged&quot;:true}
 </code></pre>
 <h3><a id="Service+Test+API">Service Test API</a> <a 
href="#Service+Test+API"><img src="markbook-section-link.png"/></a></h3>
-<p>The gateway supports a Service Test API that can be used to test 
Knox&rsquo;s ability to connect to each of the different Hadoop services via a 
simple HTTP GET request. To be able to access this API, one must add the 
following line into the topology for which you wish to run the service test.</p>
+<p>The gateway supports a Service Test API that can be used to test 
Knox&rsquo;s ability to connect to each of the different Hadoop services via a 
simple HTTP GET request. To be able to access this API, one must add the 
following lines into the topology for which you wish to run the service 
test.</p>
 <pre><code>&lt;service&gt;
   &lt;role&gt;SERVICE-TEST&lt;/role&gt;
 &lt;/service&gt;
 </code></pre>
 <p>After adding the above to a topology, you can make a cURL request with the 
following structure</p>
-<pre><code>curl -i -k 
&quot;https://{gateway-hostname}:{gateway-port}/gateway/path/{topology-name}/service-test?username=guest&amp;password=guest-password&quot;
+<pre><code>curl -i -k 
&quot;https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/service-test?username=guest&amp;password=guest-password&quot;
 </code></pre>
 <p>An alternate method of providing credentials:</p>
-<pre><code>curl -i -k -u guest:guest-password 
https://{gateway-hostname}:{gateway-port}/gateway/path/{topology-name}/service-test
+<pre><code>curl -i -k -u guest:guest-password 
https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/service-test
 </code></pre>
 <p>Below is an example response. The gateway is also capable of returning XML 
if specified in the request&rsquo;s &ldquo;Accept&rdquo; HTTP header.</p>
 <pre><code>{

Modified: knox/site/index.html
URL: 
http://svn.apache.org/viewvc/knox/site/index.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/index.html (original)
+++ knox/site/index.html Thu Dec  6 17:17:03 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/markdown/index.md at 2018-11-16
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
src/site/markdown/index.md at 2018-12-06
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181116" />
+    <meta name="Date-Revision-yyyymmdd" content="20181206" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Knox Gateway &#x2013; Announcing Apache Knox 1.1.0!</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
@@ -40,7 +40,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-11-16</li>
+        <li id="publishDate">Last Published: 2018-12-06</li>
         </ul>
       </div>
       <div class="row-fluid">

Modified: knox/site/issue-management.html
URL: 
http://svn.apache.org/viewvc/knox/site/issue-management.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/issue-management.html (original)
+++ knox/site/issue-management.html Thu Dec  6 17:17:03 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:issue-management
 at 2018-11-16
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:issue-management
 at 2018-12-06
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181116" />
+    <meta name="Date-Revision-yyyymmdd" content="20181206" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Knox Gateway &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
@@ -40,7 +40,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-11-16</li>
+        <li id="publishDate">Last Published: 2018-12-06</li>
         </ul>
       </div>
       <div class="row-fluid">

Modified: knox/site/licenses.html
URL: 
http://svn.apache.org/viewvc/knox/site/licenses.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/licenses.html (original)
+++ knox/site/licenses.html Thu Dec  6 17:17:03 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:licenses at 
2018-11-16
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:licenses at 
2018-12-06
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181116" />
+    <meta name="Date-Revision-yyyymmdd" content="20181206" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Knox Gateway &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
@@ -40,7 +40,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-11-16</li>
+        <li id="publishDate">Last Published: 2018-12-06</li>
         </ul>
       </div>
       <div class="row-fluid">

Modified: knox/site/mailing-lists.html
URL: 
http://svn.apache.org/viewvc/knox/site/mailing-lists.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/mailing-lists.html (original)
+++ knox/site/mailing-lists.html Thu Dec  6 17:17:03 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:mailing-lists 
at 2018-11-16
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:mailing-lists 
at 2018-12-06
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181116" />
+    <meta name="Date-Revision-yyyymmdd" content="20181206" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Knox Gateway &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
@@ -40,7 +40,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-11-16</li>
+        <li id="publishDate">Last Published: 2018-12-06</li>
         </ul>
       </div>
       <div class="row-fluid">

Modified: knox/site/project-info.html
URL: 
http://svn.apache.org/viewvc/knox/site/project-info.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/project-info.html (original)
+++ knox/site/project-info.html Thu Dec  6 17:17:03 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-site-plugin:3.7.1:CategorySummaryDocumentRenderer
 at 2018-11-16
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-site-plugin:3.7.1:CategorySummaryDocumentRenderer
 at 2018-12-06
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181116" />
+    <meta name="Date-Revision-yyyymmdd" content="20181206" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Knox Gateway &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
@@ -40,7 +40,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-11-16</li>
+        <li id="publishDate">Last Published: 2018-12-06</li>
         </ul>
       </div>
       <div class="row-fluid">

Modified: knox/site/team.html
URL: 
http://svn.apache.org/viewvc/knox/site/team.html?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/site/team.html (original)
+++ knox/site/team.html Thu Dec  6 17:17:03 2018
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:team at 
2018-11-16
+ | Generated by Apache Maven Doxia Site Renderer 1.8.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:team at 
2018-12-06
  | Rendered using Apache Maven Fluido Skin 1.7
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20181116" />
+    <meta name="Date-Revision-yyyymmdd" content="20181206" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Knox Gateway &#x2013; Project Team</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.min.css" />
@@ -40,7 +40,7 @@
 
       <div id="breadcrumbs">
         <ul class="breadcrumb">
-        <li id="publishDate">Last Published: 2018-11-16</li>
+        <li id="publishDate">Last Published: 2018-12-06</li>
         </ul>
       </div>
       <div class="row-fluid">

Modified: knox/trunk/books/1.2.0/book.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/book.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/book.md (original)
+++ knox/trunk/books/1.2.0/book.md Thu Dec  6 17:17:03 2018
@@ -96,10 +96,10 @@
     * #[Yarn]
     * #[Kafka]
     * #[Storm]
-    * #[SOLR]
+    * #[Solr]
     * #[Avatica]
     * #[Livy Server]
-    * #[ElasticSearch]
+    * #[Elasticsearch]
     * #[Common Service Config]
     * #[Default Service HA support]
 * #[UI Service Details]

Modified: knox/trunk/books/1.2.0/book_gateway-details.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/book_gateway-details.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/book_gateway-details.md (original)
+++ knox/trunk/books/1.2.0/book_gateway-details.md Thu Dec  6 17:17:03 2018
@@ -17,7 +17,7 @@
 
 ## Gateway Details ##
 
-This section describes the details of the Knox Gateway itself. Including: 
+This section describes the details of the Knox Gateway itself. Including:
 
 * How URLs are mapped between a gateway that services multiple Hadoop clusters 
and the clusters themselves
 * How the gateway is configured through `gateway-site.xml` and cluster 
specific topology files
@@ -35,9 +35,10 @@ When a topology file is deployed with a
 
 The configuration for the default topology name is found in `gateway-site.xml` 
as a property called: `default.app.topology.name`.
 
-The default value for this property is `sandbox`.
+The default value for this property is empty.
 
-Therefore, when deploying the `sandbox.xml` topology, both of the following 
example URLs work for the same underlying Hadoop cluster:
+
+When deploying the `sandbox.xml` topology and setting 
`default.app.topology.name` to `sandbox`, both of the following example URLs 
work for the same underlying Hadoop cluster:
 
     https://{gateway-host}:{gateway-port}/webhdfs
     https://{gateway-host}:{gateway-port}/{gateway-path}/{cluster-name}/webhdfs
@@ -76,7 +77,7 @@ Note: The ports 50070 (9870 for Hadoop 3
 Their values can also be provided via the cluster topology descriptor if your 
Hadoop cluster uses different ports.
 
 Note: The HBase REST API uses port 8080 by default. This often clashes with 
other running services.
-In the Hortonworks Sandbox, Apache Ambari might be running on this port, so 
you might have to change it to a different port (e.g. 60080). 
+In the Hortonworks Sandbox, Apache Ambari might be running on this port, so 
you might have to change it to a different port (e.g. 60080).
 
 <<book_topology_port_mapping.md>>
 <<config.md>>

Modified: knox/trunk/books/1.2.0/book_getting-started.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/book_getting-started.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/book_getting-started.md (original)
+++ knox/trunk/books/1.2.0/book_getting-started.md Thu Dec  6 17:17:03 2018
@@ -79,7 +79,7 @@ This table enumerates the versions of va
 | Yarn ResourceManager   | 2.5.0       | ![y]        | ![y]   |![n]|
 | Kafka (via REST Proxy) | 0.10.0      | ![y]        | ![y]   |![y]|
 | Storm                  | 0.9.3       | ![y]        | ![n]   |![n]|
-| SOLR                   | 5.5+ and 6+ | ![y]        | ![n]   |![y]|
+| Solr                   | 5.5+ and 6+ | ![y]        | ![y]   |![y]|
 
 
 ### More Examples ###

Modified: knox/trunk/books/1.2.0/book_service-details.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/book_service-details.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/book_service-details.md (original)
+++ knox/trunk/books/1.2.0/book_service-details.md Thu Dec  6 17:17:03 2018
@@ -37,10 +37,10 @@ These are the current Hadoop services wi
 * #[Yarn]
 * #[Kafka]
 * #[Storm]
-* #[SOLR]
+* #[Solr]
 * #[Avatica]
 * #[Livy Server]
-* #[ElasticSearch]
+* #[Elasticsearch]
 
 ### Assumptions
 
@@ -94,214 +94,4 @@ Therefore each request via cURL will res
 <<service_avatica.md>>
 <<service_livy.md>>
 <<service_elasticsearch.md>>
-
-### Service Test API
-
-The gateway supports a Service Test API that can be used to test Knox's 
ability to connect to each of the different Hadoop services via a simple HTTP 
GET request. To be able to access this API, one must add the following line 
into the topology for which you wish to run the service test.
-
-    <service>
-      <role>SERVICE-TEST</role>
-    </service>
-
-After adding the above to a topology, you can make a cURL request with the 
following structure
-
-    curl -i -k 
"https://{gateway-hostname}:{gateway-port}/gateway/path/{topology-name}/service-test?username=guest&password=guest-password";
-
-An alternate method of providing credentials:
-
-    curl -i -k -u guest:guest-password 
https://{gateway-hostname}:{gateway-port}/gateway/path/{topology-name}/service-test
-
-Below is an example response. The gateway is also capable of returning XML if 
specified in the request's "Accept" HTTP header.
-
-    {
-        "serviceTestWrapper": {
-         "Tests": {
-          "ServiceTest": [
-           {
-            "serviceName": "WEBHDFS",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/webhdfs/v1/?op=LISTSTATUS";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHCAT",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/status";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHCAT",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHCAT",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version/hive";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHCAT",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version/hadoop";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "OOZIE",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/v1/admin/build-version";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "OOZIE",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/v1/admin/status";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "OOZIE",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/versions";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHBASE",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/version";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHBASE",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/version/cluster";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHBASE",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/status/cluster";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "WEBHBASE",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "RESOURCEMANAGER",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/info";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "RESOURCEMANAGER",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/metrics";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "RESOURCEMANAGER",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/apps";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "FALCON",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/admin/stack";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "FALCON",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/admin/version";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "FALCON",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/serialize";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "FALCON",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/vertices/all";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "FALCON",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/edges/all";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "STORM",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/cluster/configuration";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "STORM",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/cluster/summary";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "STORM",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/supervisor/summary";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           },
-           {
-            "serviceName": "STORM",
-            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/topology/summary";,
-            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
-            "httpCode": 200,
-            "message": "Request sucessful."
-           }
-          ]
-         },
-         "messages": {
-          "message": [
-
-          ]
-         }
-        }
-    }
-
-
-We can see that this service-test makes HTTP requests to each of the services 
through Knox using the specified topology. The test will only make calls to 
those services that have entries within the topology file.
-
-##### Adding and Changing test URLs
-
-URLs for each service are stored in 
`{GATEWAY_HOME}/data/services/{service-name}/{service-version}/service.xml`. 
Each `<testURL>` element represents a service resource that will be tested if 
the service is set up in the topology. You can add or remove these from the 
`service.xml` file. Just note if you add URLs there is no guarantee in the 
order they will be tested. All default URLs have been tested and work on 
various clusters. If a new URL is added and doesn't respond in a way the user 
expects then it is up to the user to determine whether the URL is correct or 
not.
-
-##### Some important things to note:
- - In the first cURL request, the quotes are necessary around the URL or else 
a command line terminal will not include the `&password` query parameter in the 
request.
- - This API call does not require any credentials to receive a response from 
Knox, but expect to receive 401 responses from each of the services if none are 
provided.
+<<service_service_test.md>>

Modified: knox/trunk/books/1.2.0/config_authn.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/config_authn.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/config_authn.md (original)
+++ knox/trunk/books/1.2.0/config_authn.md Thu Dec  6 17:17:03 2018
@@ -128,7 +128,7 @@ In order to communicate with your LDAP s
 
 1. **main.ldapRealm.contextFactory.url** must be changed to have the `ldaps` 
protocol scheme and the port must be the SSL listener port on your LDAP server.
 2. Identity certificate (keypair) provisioned to LDAP server - your LDAP 
server specific documentation should indicate what is required for providing a 
cert or keypair to represent the LDAP server identity to connecting clients.
-3. Trusting the LDAP Server's public key - if the LDAP Server's identity 
certificate is issued by a well known and trusted certificate authority and is 
already represented in the JRE's cacerts truststore then you don't need to do 
anything for trusting the LDAP server's cert. If, however, the cert is 
self-signed or issued by an untrusted authority you will need to either add it 
to the cacerts keystore or to another truststore that you may direct Knox to 
utilize through a system property.
+3. Trusting the LDAP Server's public key - if the LDAP Server's identity 
certificate is issued by a well known and trusted certificate authority and is 
already represented in the JRE's cacerts truststore then you don't need to do 
anything for trusting the LDAP server's cert. If, however, the cert is 
self-signed or issued by an untrusted authority you will need to either add it 
to the cacerts keystore or to another truststore that you may direct Knox to 
utilize through a system property (`javax.net.ssl.trustStore` and 
`javax.net.ssl.trustStorePassword`).
 
 #### Session Configuration ####
 

Modified: knox/trunk/books/1.2.0/dev-guide/book.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/dev-guide/book.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/dev-guide/book.md (original)
+++ knox/trunk/books/1.2.0/dev-guide/book.md Thu Dec  6 17:17:03 2018
@@ -1167,7 +1167,7 @@ If this configuration exists, Knox will
 
 **Example**
 
-If Apache SOLR weren't supported, then it could be added by creating the 
following definition in
+If Apache Solr weren't supported, then it could be added by creating the 
following definition in
 **_{GATEWAY_HOME}_/conf/ambari-discovery-url-mappings.xml** :
 
     <?xml version="1.0" encoding="utf-8"?>

Modified: knox/trunk/books/1.2.0/knox_cli.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/knox_cli.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/knox_cli.md (original)
+++ knox/trunk/books/1.2.0/knox_cli.md Thu Dec  6 17:17:03 2018
@@ -31,18 +31,30 @@ prints help for all commands
 Displays Knox version information.
 
 #### Master secret persistence ####
-##### `bin/knoxcli.sh create-master [--force][--help]` #####
-Creates and persists an encrypted master secret in a file within 
`{GATEWAY_HOME}/data/security/master`. 
+##### `bin/knoxcli.sh create-master [--force] [--master mastersecret] 
[--generate]` #####
+The create-master command persists the master secret in a file located at: 
`{GATEWAY_HOME}/data/security/master`.
+
+It will prompt the user for the secret to persist.
+
+Use `--force` to overwrite the master secret.
+
+Use `--master` to pass in a master secret to persist. This can be used to 
persist the secret without any user interaction. Be careful as the secret might 
appear in shell histories or process listings.<br/>
+Instead of `--master` it is usually a better idea to use `--generate` instead!
+
+Use `--generate` to have Knox automatically generate a random secret.
+The generated secret will not be printed or otherwise exposed.
+
+Do not specify both `--master` and `--generate` at the same time.
 
 NOTE: This command fails when there is an existing master file in the expected 
location. You may force it to overwrite the master file with the \-\-force 
switch. NOTE: this will require you to change passwords protecting the 
keystores for the gateway identity keystores and all credential stores.
 
 #### Alias creation ####
 ##### `bin/knoxcli.sh create-alias name [--cluster c] [--value v] [--generate] 
[--help]` #####
-Creates a password alias and stores it in a credential store within the 
`{GATEWAY_HOME}/data/security/keystores` dir. 
+Creates a password alias and stores it in a credential store within the 
`{GATEWAY_HOME}/data/security/keystores` dir.
 
 Argument     | Description
 -------------|-----------
-name         | Name of the alias to create  
+name         | Name of the alias to create
 \-\-cluster  | Name of Hadoop cluster for the cluster specific credential 
store otherwise assumes that it is for the gateway itself
 \-\-value    | Parameter for specifying the actual password otherwise 
prompted. Escape complex passwords or surround with single quotes
 \-\-generate | Boolean flag to indicate whether the tool should just generate 
the value. This assumes that \-\-value is not set - will result in error 
otherwise. User will not be prompted for the value when \-\-generate is set.
@@ -53,7 +65,7 @@ Deletes a password and alias mapping fro
 
 Argument    | Description
 ------------|-----------
-name        | Name of the alias to delete  
+name        | Name of the alias to delete
 \-\-cluster | Name of Hadoop cluster for the cluster specific credential store 
otherwise assumes '__gateway'
 
 #### Alias listing ####
@@ -68,7 +80,7 @@ Argument    | Description
 
 #### Self-signed cert creation ####
 ##### `bin/knoxcli.sh create-cert [--hostname n] [--help]` #####
-Creates and stores a self-signed certificate to represent the identity of the 
gateway instance. This is stored within the 
`{GATEWAY_HOME}/data/security/keystores/gateway.jks` keystore.  
+Creates and stores a self-signed certificate to represent the identity of the 
gateway instance. This is stored within the 
`{GATEWAY_HOME}/data/security/keystores/gateway.jks` keystore.
 
 Argument     | Description
 -------------|-----------
@@ -76,7 +88,7 @@ Argument     | Description
 
 #### Certificate Export ####
 ##### `bin/knoxcli.sh export-cert [--type JKS|PEM] [--help]` #####
-Exports and stores the gateway-identity certificate as the type indicated or 
PEM by default. This is stored within the 
`{GATEWAY_HOME}/data/security/keystores/` directory as either 
`gateway-identity.pem` or `gateway-client-trust.jks` depending on the type 
specified.  
+Exports and stores the gateway-identity certificate as the type indicated or 
PEM by default. This is stored within the 
`{GATEWAY_HOME}/data/security/keystores/` directory as either 
`gateway-identity.pem` or `gateway-client-trust.jks` depending on the type 
specified. 
 
 #### Topology Redeploy ####
 ##### `bin/knoxcli.sh redeploy [--cluster c]` #####
@@ -109,7 +121,7 @@ Argument    | Description
 
 #### Topology LDAP Bind ####
 ##### `bin/knoxcli.sh system-user-auth-test [--cluster c] [--d] [--help]` ####
-This command will test a given topology's ability to connect, bind, and 
authenticate with the LDAP server from the settings specified in the topology 
file. The bind currently only will with Shiro as the authentication provider. 
There are also two parameters required inside of the topology for these  
+This command will test a given topology's ability to connect, bind, and 
authenticate with the LDAP server from the settings specified in the topology 
file. The bind currently only will with Shiro as the authentication provider. 
There are also two parameters required inside of the topology for these
 
 Argument    | Description
 ------------|-----------

Modified: knox/trunk/books/1.2.0/service_elasticsearch.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/service_elasticsearch.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/service_elasticsearch.md (original)
+++ knox/trunk/books/1.2.0/service_elasticsearch.md Thu Dec  6 17:17:03 2018
@@ -15,13 +15,13 @@
    limitations under the License.
 --->
 
-### ElasticSearch ###
+### Elasticsearch ###
 
-ElasticSearch provides a REST API for communicating with ElasticSearch via 
JSON over HTTP. ElasticSearch uses X-Pack to do its own security 
(authentication and authorization). Therefore, the Knox Gateway is to forward 
the user credentials to ElasticSearch, and treats the 
ElasticSearch-authenticated user as "anonymous" to the backend service via a 
doas query param while Knox will authenticate to backend services as itself.
+Elasticsearch provides a REST API for communicating with Elasticsearch via 
JSON over HTTP. Elasticsearch uses X-Pack to do its own security 
(authentication and authorization). Therefore, the Knox Gateway is to forward 
the user credentials to Elasticsearch, and treats the 
Elasticsearch-authenticated user as "anonymous" to the backend service via a 
doas query param while Knox will authenticate to backend services as itself.
 
 #### Gateway configuration ####
 
-The Gateway can be configured for ElasticSearch by modifying the topology XML 
file and providing a new service XML file.
+The Gateway can be configured for Elasticsearch by modifying the topology XML 
file and providing a new service XML file.
 
 In the topology XML file, add the following new service named "ELASTICSEARCH" 
with the correct elasticsearch-rest-server hostname and port number (e.g., 
9200):
 
@@ -31,11 +31,11 @@ In the topology XML file, add the follow
        <name>elasticsearch</name>
      </service>
 
-#### ElasticSearch via Knox Gateway ####
+#### Elasticsearch via Knox Gateway ####
 
 After adding the above to a topology, you can make a cURL request similar to 
the following structures:
 
-##### 1.  ElasticSearch Node Root Query #####
+##### 1.  Elasticsearch Node Root Query #####
 
     curl -i -k -u username:password -H "Accept: application/json"  -X GET  
"https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/elasticsearch";
 
@@ -43,7 +43,7 @@ After adding the above to a topology, yo
 
     curl -i -k -u username:password -H "Accept: application/json"  -X GET  
"https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/elasticsearch/";
 
-The quotation marks around the URL, can be single quotes or double quotes on 
both sides, and can also be omitted (Note: This is true for all other 
ElasticSearch queries via Knox). Below is an example response:
+The quotation marks around the URL, can be single quotes or double quotes on 
both sides, and can also be omitted (Note: This is true for all other 
Elasticsearch queries via Knox). Below is an example response:
 
      HTTP/1.1 200 OK
      Date: Wed, 23 May 2018 16:36:34 GMT
@@ -53,7 +53,7 @@ The quotation marks around the URL, can
      
      
{"name":"w0A80p0","cluster_name":"elasticsearch","cluster_uuid":"poU7j48pSpu5qQONr64HLQ","version":{"number":"6.2.4","build_hash":"ccec39f","build_date":"2018-04-12T20:37:28.497551Z","build_snapshot":false,"lucene_version":"7.2.1","minimum_wire_compatibility_version":"5.6.0","minimum_index_compatibility_version":"5.0.0"},"tagline":"You
 Know, for Search"}
     
-##### 2.  ElasticSearch Index - Creation, Deletion, Refreshing and Data 
Operations - Writing, Updating and Retrieval #####
+##### 2.  Elasticsearch Index - Creation, Deletion, Refreshing and Data 
Operations - Writing, Updating and Retrieval #####
 
 ###### (1) Index Creation ######
 

Modified: knox/trunk/books/1.2.0/service_service_test.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/service_service_test.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/service_service_test.md (original)
+++ knox/trunk/books/1.2.0/service_service_test.md Thu Dec  6 17:17:03 2018
@@ -15,207 +15,214 @@
    limitations under the License.
 --->
 
-### Service Test ###
 
-The gateway supports a Service Test API that can be used to test Knox's 
ability to connect to each of the different Hadoop services via a simple HTTP 
GET request. To be able to access this API one must add the following entry 
into the topology for which you wish to run the service test.
+### Service Test API
 
-       <service>
-               <role>SERVICE-TEST</role>
-       </service>
+The gateway supports a Service Test API that can be used to test Knox's 
ability to connect to each of the different Hadoop services via a simple HTTP 
GET request. To be able to access this API, one must add the following lines 
into the topology for which you wish to run the service test.
+
+    <service>
+      <role>SERVICE-TEST</role>
+    </service>
 
 After adding the above to a topology, you can make a cURL request with the 
following structure
 
-       curl -i -k -u guest:guest-password 
https://{gateway-host}:{gateway-port}/{gateway-path}/{topology-name}/service-test
+    curl -i -k 
"https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/service-test?username=guest&password=guest-password";
+
+An alternate method of providing credentials:
+
+    curl -i -k -u guest:guest-password 
https://{gateway-hostname}:{gateway-port}/gateway/{topology-name}/service-test
 
 Below is an example response. The gateway is also capable of returning XML if 
specified in the request's "Accept" HTTP header.
 
-       {
-           "serviceTestWrapper": {
-                  "Tests": {
-                         "ServiceTest": [
-                                {
-                                       "serviceName": "WEBHDFS",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/webhdfs/v1/?op=LISTSTATUS";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHCAT",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/status";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHCAT",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHCAT",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version/hive";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHCAT",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version/hadoop";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "OOZIE",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/v1/admin/build-version";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "OOZIE",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/v1/admin/status";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "OOZIE",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/versions";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHBASE",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/version";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHBASE",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/version/cluster";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHBASE",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/status/cluster";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "WEBHBASE",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "RESOURCEMANAGER",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/info";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "RESOURCEMANAGER",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/metrics";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "RESOURCEMANAGER",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/apps";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "FALCON",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/admin/stack";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "FALCON",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/admin/version";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "FALCON",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/serialize";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "FALCON",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/vertices/all";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "FALCON",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/edges/all";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "STORM",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/cluster/configuration";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "STORM",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/cluster/summary";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "STORM",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/supervisor/summary";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                },
-                                {
-                                       "serviceName": "STORM",
-                                       "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/topology/summary";,
-                                       "responseContent": 
"Content-Length:0,Content-Type: application/json;charset=utf-8",
-                                       "httpCode": 200,
-                                       "message": "Request sucessful."
-                                }
-                         ]
-                  },
-                  "messages": {
-                         "message": [
-                         ]
-                  }
-           }
-       }
+    {
+        "serviceTestWrapper": {
+         "Tests": {
+          "ServiceTest": [
+           {
+            "serviceName": "WEBHDFS",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/webhdfs/v1/?op=LISTSTATUS";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHCAT",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/status";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHCAT",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHCAT",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version/hive";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHCAT",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/templeton/v1/version/hadoop";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "OOZIE",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/v1/admin/build-version";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "OOZIE",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/v1/admin/status";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "OOZIE",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/oozie/versions";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHBASE",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/version";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHBASE",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/version/cluster";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHBASE",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase/status/cluster";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "WEBHBASE",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/hbase";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "RESOURCEMANAGER",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/info";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "RESOURCEMANAGER",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/metrics";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "RESOURCEMANAGER",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/resourcemanager/v1/{topology-name}/apps";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "FALCON",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/admin/stack";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "FALCON",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/admin/version";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "FALCON",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/serialize";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "FALCON",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/vertices/all";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "FALCON",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/falcon/api/metadata/lineage/edges/all";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "STORM",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/cluster/configuration";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "STORM",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/cluster/summary";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "STORM",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/supervisor/summary";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           },
+           {
+            "serviceName": "STORM",
+            "requestURL": 
"http://{gateway-host}:{gateway-port}/gateway/{topology-name}/storm/api/v1/topology/summary";,
+            "responseContent": "Content-Length:0,Content-Type: 
application/json;charset=utf-8",
+            "httpCode": 200,
+            "message": "Request sucessful."
+           }
+          ]
+         },
+         "messages": {
+          "message": [
+
+          ]
+         }
+        }
+    }
 
 
 We can see that this service-test makes HTTP requests to each of the services 
through Knox using the specified topology. The test will only make calls to 
those services that have entries within the topology file.
 
 ##### Adding and Changing test URLs
 
-URLs for each service are stored in 
`{GATEWAY_HOME}/data/services/{service-name}/{service-version}/service.xml`. 
Each `<testURL>` element represents a service resource that will be tested if 
the service is set up in the topology. You can add or remove these from teh 
service.xml files. Just note if you add URL's there is no guarantee in the 
order they will be tested. All default URLs have been tested and work on 
various clusters. If a new URL is added and doesn't respond in a way the user 
expects then it is up to the user to determine whether the URL is correct or 
not.
+URLs for each service are stored in 
`{GATEWAY_HOME}/data/services/{service-name}/{service-version}/service.xml`. 
Each `<testURL>` element represents a service resource that will be tested if 
the service is set up in the topology. You can add or remove these from the 
`service.xml` file. Just note if you add URLs there is no guarantee in the 
order they will be tested. All default URLs have been tested and work on 
various clusters. If a new URL is added and doesn't respond in a way the user 
expects then it is up to the user to determine whether the URL is correct or 
not.
 
 ##### Some important things to note:
+ - In the first cURL request, the quotes are necessary around the URL or else 
a command line terminal will not include the `&password` query parameter in the 
request.
  - This API call does not require any credentials to receive a response from 
Knox, but expect to receive 401 responses from each of the services if none are 
provided.

Modified: knox/trunk/books/1.2.0/service_solr.md
URL: 
http://svn.apache.org/viewvc/knox/trunk/books/1.2.0/service_solr.md?rev=1848343&r1=1848342&r2=1848343&view=diff
==============================================================================
--- knox/trunk/books/1.2.0/service_solr.md (original)
+++ knox/trunk/books/1.2.0/service_solr.md Thu Dec  6 17:17:03 2018
@@ -38,6 +38,15 @@ To enable this functionality, a topology
 
 The default Solr port is 8983. Adjust the version specified to either '5.5.0 
or '6.0.0'.
 
+For Solr 5.5.0 you also need to change the role name to `SOLRAPI` like this:
+
+    <service>
+        <role>SOLRAPI</role>
+        <version>5.5.0</version>
+        <url>http://<solr-host>:<solr-port></url>
+    </service>
+
+
 #### Solr URL Mapping ####
 
 For Solr URLs, the mapping of Knox Gateway accessible URLs to direct Solr URLs 
is the following.


Reply via email to