Author: buildbot
Date: Thu Dec 11 15:17:14 2014
New Revision: 932314

Log:
Staging update by buildbot for slider

Added:
    websites/staging/slider/trunk/content/docs/api/
    websites/staging/slider/trunk/content/docs/api/slider_REST_apis.html
Modified:
    websites/staging/slider/trunk/content/   (props changed)
    websites/staging/slider/trunk/content/index.html

Propchange: websites/staging/slider/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Dec 11 15:17:14 2014
@@ -1 +1 @@
-1643005
+1644671

Added: websites/staging/slider/trunk/content/docs/api/slider_REST_apis.html
==============================================================================
--- websites/staging/slider/trunk/content/docs/api/slider_REST_apis.html (added)
+++ websites/staging/slider/trunk/content/docs/api/slider_REST_apis.html Thu 
Dec 11 15:17:14 2014
@@ -0,0 +1,385 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link href="/css/bootstrap.min.css" rel="stylesheet">
+  <link href="/css/bootstrap-theme.min.css" rel="stylesheet">
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script 
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js";></script>
+    <script 
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js";></script>
+  <![endif]-->
+  <script 
src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js";></script>
+  <script src="/js/bootstrap.min.js"></script>
+  <link href="/css/slider.css" rel="stylesheet" type="text/css">
+  <link 
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" 
rel="stylesheet">
+  <title></title>
+  
+</head>
+
+<body>
+<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+<div class="container-fluid">
+  <div class="navbar-header">
+    <button type="button" class="navbar-toggle" data-toggle="collapse" 
data-target="#navbar-items">
+      <span class="sr-only">Toggle navigation</span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+    </button>
+    <a class="navbar-brand" href="/index.html">Slider</a>
+  </div>
+  <div class="collapse navbar-collapse" id="navbar-items">
+  <ul class="nav navbar-nav">
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        Project <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_index"><a href="/index.html">Home</a></li>
+<li id="nav_downloads"><a href="/downloads">Downloads</a></li>
+<li id="nav_source"><a 
href="https://git-wip-us.apache.org/repos/asf/incubator-slider.git";><i 
class="fa fa-external-link"></i> Source</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0";><i class="fa 
fa-external-link"></i> License</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Community</li>
+<li id="nav_team"><a href="/team.html">Team</a></li>
+<li id="nav_mailinglists"><a href="/mailing_lists.html">Mailing Lists</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Tools</li>
+<li id="nav_jira"><a href="https://issues.apache.org/jira/browse/SLIDER";><i 
class="fa fa-external-link"></i> Issues</a></li>
+<li id="nav_builds"><a href="https://builds.apache.org/job/Slider-develop";><i 
class="fa fa-external-link"></i> Builds</a></li>
+</ul>
+</li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="/design">
+        Design <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_design_overview"><a 
href="/design/architecture.html">Overview</a></li>
+<li id="nav_app_needs"><a 
href="/docs/slider_specs/application_needs.html">Application Needs</a></li>
+<li id="nav_spec"><a href="/design/specification/index.html">Expected 
Behavior</a></li>
+<li id="nav_registry"><a href="/design/registry/index.html">Service 
Registry</a></li>
+<li id="nav_ssl_impl"><a href="/design/ssl_implementation.html">SSL 
Implementation</a></li>
+<li id="nav_role_history"><a href="/design/rolehistory.html">Role 
History</a></li>
+</ul>
+</li>
+
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="/developing">
+        Developing <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_dev_building"><a href="/developing/building.html">Building</a></li>
+<li id="nav_dev_debugging"><a href="/docs/debugging.html">Debugging</a></li>
+<li id="nav_dev_testing"><a href="/developing/testing.html">Testing</a></li>
+<li id="nav_dev_funtesting"><a 
href="/developing/functional_tests.html">Functional Testing</a></li>
+<li id="nav_dev_manual_testing"><a 
href="/developing/manual_testing.html">Manual Testing</a></li>
+<li id="nav_releasing"><a href="/developing/releasing.html">Releasing</a></li>
+</ul>
+</li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        Using <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_use_getting_started"><a href="/docs/getting_started.html">Getting 
Started</a></li>
+<li id="nav_use_manpage"><a href="/docs/manpage.html">Man Page</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_app_package"><a href="/docs/slider_specs/index.html">Creating 
App Packages</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_client_config"><a 
href="/docs/client-configuration.html">Client Configuration</a></li>
+<li id="nav_use_exitcodes"><a href="/docs/exitcodes.html">Client Exit 
Codes</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_debugging"><a href="/docs/debugging.html">Debugging</a></li>
+<li id="nav_use_troubleshooting"><a 
href="/docs/troubleshooting.html">Troubleshooting</a></li>
+<li role="presentation" class="divider"></li>
+<li id="nav_use_high_availability"><a href="/docs/high_availability.html">High 
Availability</a></li>
+<li id="nav_use_security"><a href="/docs/security.html">Security</a></li>
+<li id="nav_am_agent_ssl"><a href="/docs/ssl.html">Agent to AM SSL</a></li>
+<li id="nav_use_app_configuration"><a 
href="/docs/configuration/index.html">App Configuration Model</a></li>
+<li id="nav_use_examples"><a href="/docs/examples.html">Provider 
Examples</a></li>
+</ul>
+</li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        ASF Links <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li><a href="http://www.apache.org";><i class="fa fa-external-link"></i> Apache 
Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html";><i class="fa 
fa-external-link"></i> Sponsorship</a></li>
+<li><a href="http://www.apache.org/security/";><i class="fa 
fa-external-link"></i> Security</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";><i class="fa 
fa-external-link"></i> Thanks</a></li>
+</ul>
+</li>
+</ul>
+
+  </div>
+
+</div>
+</nav>
+
+
+<div class="container-fluid">
+<div class="row">
+  <div class="col-md-2" id="sidebar">
+  <div style="text-align: center">
+    <h1><a href="/index.html">Apache Slider (incubating)</a></h1>
+    <hr>
+Latest release: <strong>0.60.0-incubating</strong><br>
+    <br>
+    <a id="download-button-sidebar" class="btn btn-success btn-block" 
href="/downloads/" role="button">Download</a>
+  </div>
+    <hr>
+    <a href="http://incubator.apache.org";><img id="logo" alt="Apache Incubator 
&trade;" class="img-responsive" 
src="http://incubator.apache.org/images/apache-incubator-logo.png"/></a>
+  </div>
+  <div class="col-md-8 col-md-offset-1">
+
+  <div id="content">
+
+    <h1 class="title"></h1>
+
+    <h1 id="slider-060-rest-apis">Slider 0.60 REST APIs</h1>
+<h2 id="december-2014">December 2014</h2>
+<p>This document covers the external REST APIs of Slider</p>
+<div class="codehilite"><pre> <span class="n">The</span> <span 
class="n">key</span> <span class="n">words</span> &quot;<span 
class="n">MUST</span>&quot;<span class="p">,</span> &quot;<span 
class="n">MUST</span> <span class="n">NOT</span>&quot;<span class="p">,</span> 
&quot;<span class="n">REQUIRED</span>&quot;<span class="p">,</span> &quot;<span 
class="n">SHALL</span>&quot;<span class="p">,</span> &quot;<span 
class="n">SHALL</span>
+ <span class="n">NOT</span>&quot;<span class="p">,</span> &quot;<span 
class="n">SHOULD</span>&quot;<span class="p">,</span> &quot;<span 
class="n">SHOULD</span> <span class="n">NOT</span>&quot;<span 
class="p">,</span> &quot;<span class="n">RECOMMENDED</span>&quot;<span 
class="p">,</span>  &quot;<span class="n">MAY</span>&quot;<span 
class="p">,</span> <span class="n">and</span>
+ &quot;<span class="n">OPTIONAL</span>&quot; <span class="n">in</span> <span 
class="n">this</span> <span class="n">document</span> <span 
class="n">are</span> <span class="n">to</span> <span class="n">be</span> <span 
class="n">interpreted</span> <span class="n">as</span> <span 
class="n">described</span> <span class="n">in</span>
+ <span class="n">RFC</span> 2119<span class="p">.</span>
+</pre></div>
+
+
+<h1 id="introduction-and-background">Introduction and Background</h1>
+<p>Slider 0.60, the version shipping with HDP2.2 uses Hadoop IPC for 
communications between the Slider client and the per-instance application 
master. This uses protobuf-formatted payloads, with the Hadoop IPC layer 
handling security: authorization, authentication and encryption.</p>
+<p>It provides read-only views of generated content and state through a set of 
web service URLs. All these services are implemented by the Jersey JAX-RS 
engine, operating in an embedded Jetty Web engine, with the YARN AmWebFilter 
class redirecting all requests not coming from the RM Proxy IP address to that 
RM Proxy via a 302 (redirect-as-GET)</p>
+<p>Excluding the internal-use-only the AM&lt;-&gt;Agent channel operating on a 
private HTTP port, there are a number of current services</p>
+<h1 id="read-only-access-to-the-yarn-registry-wsv1sliderregistry">Read only 
access to the YARN registry: /ws/v1/slider/registry</h1>
+<p>This was done primarily to get a browseable view of what the YARN-913 
registry was publishing in the absence of any web view built in to that 
registry. The unit tests against this service actually discovered some JSON 
marshalling problems with the registry design and Jersey integration. </p>
+<p>The root path <code>/v1/slider/registry</code> lists the root path of the 
registry; all entries below it follow the path in the registry. </p>
+<div class="codehilite"><pre><span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">registry</span><span class="p">:</span> <span 
class="p">{</span>&quot;<span class="n">nodes</span>&quot;<span 
class="p">:[</span>&quot;<span class="n">services</span>&quot;<span 
class="p">,</span>&quot;<span class="n">users</span>&quot;<span 
class="p">]}</span>
+</pre></div>
+
+
+<p>Every entry in the path serves an instance of 
<code>org.apache.slider.server.appmaster.web.rest.registry.PathEntryResource</code>;
 a list of child directory entries, and, if present, the Yarn registry service 
record at that path 
(<code>org.apache.hadoop.registry.client.types.ServiceRecord</code>).</p>
+<div class="codehilite"><pre><span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">registry</span><span class="o">/</span><span 
class="n">users</span><span class="o">/</span><span 
class="n">stevel</span><span class="o">/</span><span 
class="n">services</span><span class="o">/</span><span 
class="n">org</span><span class="o">-</span><span class="n">apache</span><span 
class="o">-</span><span class="n">slider</span><span class="o">/</span><span 
class="n">apps</span><span class="o">-</span><span 
class="n">through</span><span class="o">-</span><span class="n">agent</span> 
<span class="p">:</span>
+
+<span class="p">{</span>
+&quot;<span class="n">nodes</span>&quot;<span class="p">:</span> <span 
class="p">[</span>&quot;<span class="n">components</span>&quot;<span 
class="p">],</span>
+&quot;<span class="n">service</span>&quot;<span class="p">:</span> <span 
class="p">{</span>
+  &quot;<span class="n">type</span>&quot;<span class="p">:</span> &quot;<span 
class="n">JSONServiceRecord</span>&quot;<span class="p">,</span>
+  &quot;<span class="n">description</span>&quot;<span class="p">:</span> 
&quot;<span class="n">Slider</span> <span class="n">Application</span> <span 
class="n">Master</span>&quot;<span class="p">,</span>
+  &quot;<span class="n">external</span>&quot;<span class="p">:</span> <span 
class="p">[</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">http</span><span class="p">:</span><span 
class="o">//</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">webui</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283&quot;<span class="p">}]</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">classpath</span><span class="p">:</span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">slider</span><span class="p">.</span><span 
class="n">management</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">REST</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">mgmt</span>&quot;<span class="p">}]</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">classpath</span><span class="p">:</span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">slider</span><span class="p">.</span><span 
class="n">publisher</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">REST</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">publisher</span>&quot;<span class="p">}]</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">classpath</span><span class="p">:</span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">slider</span><span class="p">.</span><span 
class="n">registry</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">REST</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">registry</span>&quot;<span class="p">}]</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">classpath</span><span class="p">:</span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">slider</span><span class="p">.</span><span 
class="n">publisher</span><span class="p">.</span><span 
class="n">configurations</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">REST</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">publisher</span><span class="o">/</span><span 
class="n">slider</span>&quot;<span class="p">}]</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">classpath</span><span class="p">:</span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">slider</span><span class="p">.</span><span 
class="n">publisher</span><span class="p">.</span><span 
class="n">exports</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">REST</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">publisher</span><span class="o">/</span><span 
class="n">exports</span>&quot;<span class="p">}]</span>
+    <span class="p">}</span>
+  <span class="p">],</span>
+  &quot;<span class="n">internal</span>&quot;<span class="p">:</span> <span 
class="p">[</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">classpath</span><span class="p">:</span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">slider</span><span class="p">.</span><span 
class="n">agents</span><span class="p">.</span><span 
class="n">secure</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">REST</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">https</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>44586<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">agents</span>&quot;<span class="p">}]</span>
+    <span class="p">},</span>
+    <span class="p">{</span>
+      &quot;<span class="n">api</span>&quot;<span class="p">:</span> 
&quot;<span class="n">classpath</span><span class="p">:</span><span 
class="n">org</span><span class="p">.</span><span class="n">apache</span><span 
class="p">.</span><span class="n">slider</span><span class="p">.</span><span 
class="n">agents</span><span class="p">.</span><span 
class="n">oneway</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addressType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">uri</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">protocolType</span>&quot;<span class="p">:</span> 
&quot;<span class="n">REST</span>&quot;<span class="p">,</span>
+      &quot;<span class="n">addresses</span>&quot;<span class="p">:</span> 
<span class="p">[{</span>&quot;<span class="n">uri</span>&quot;<span 
class="p">:</span> &quot;<span class="n">https</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>36590<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">agents</span>&quot;<span class="p">}]</span>
+    <span class="p">}</span>
+  <span class="p">],</span>
+  &quot;<span class="n">yarn</span><span class="p">:</span><span 
class="n">persistence</span>&quot;<span class="p">:</span> &quot;<span 
class="n">application</span>&quot;<span class="p">,</span>
+  &quot;<span class="n">yarn</span><span class="p">:</span><span 
class="n">id</span>&quot;<span class="p">:</span> &quot;<span 
class="n">application_1418130391694_0002</span>&quot;
+<span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>The slider code makes no direct use of this registry service except for a 
pair of tests. The Agents MUST use the core (ZK-based) registry service to 
locate a restarted AM. The slider client operations to enumerate and retrieve 
configuration files could use it, but they currently also use the YARN registry 
directly.</p>
+<p>As and when the YARN registry itself implements a REST view (possibly an 
R/W one), then this view will become obsolete —and possibly disabled.</p>
+<h1 id="generated-configurations-wsv1sliderpublisher">Generated 
configurations: <code>/ws/v1/slider/publisher</code></h1>
+<p>This service contains a one or more "published configuration sets"</p>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>8088<span class="o">/</span><span 
class="n">proxy</span><span class="o">/</span><span 
class="n">application_1418130391694_0002</span><span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">publisher</span>
+
+<span class="p">{</span>
+  &quot;<span class="n">uris</span>&quot;<span class="p">:</span>  <span 
class="p">{</span>
+    &quot;<span class="n">slider</span>&quot;<span 
class="p">:</span>&quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">publisher</span><span class="o">/</span><span 
class="n">slider</span>&quot;<span class="p">,</span>
+    &quot;<span class="n">exports</span>&quot;<span 
class="p">:</span>&quot;<span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>37283<span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">publisher</span><span class="o">/</span><span 
class="n">exports</span>&quot;
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>each one contains a list of available configuration documents , such as 
under /ws/v1/slider/publisher/slider:</p>
+<div class="codehilite"><pre><span class="p">{</span>
+    &quot;<span class="n">configurations</span>&quot;<span class="p">:{</span>
+        &quot;<span class="n">core</span><span class="o">-</span><span 
class="n">site</span>&quot;<span class="p">:{</span>
+          &quot;<span class="n">description</span>&quot;<span 
class="p">:</span>&quot;<span class="n">Core</span> <span class="n">site</span> 
<span class="n">settings</span>&quot;<span class="p">,</span>
+          &quot;<span class="n">updated</span>&quot;<span 
class="p">:</span>0<span class="p">,</span>
+          &quot;<span class="n">entries</span>&quot;<span 
class="p">:{},</span>&quot;
+          <span class="n">empty</span>&quot;<span class="p">:</span><span 
class="n">true</span>
+          <span class="p">}</span>
+    <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>The final path is built from the published configuration <em>and</em> the 
desired file format,the latter as a suffix. Thus the following links all server 
the same content, merely in different formats</p>
+<div class="codehilite"><pre><span class="o">/</span><span 
class="n">ws</span><span class="o">/</span><span class="n">v1</span><span 
class="o">/</span><span class="n">slider</span><span class="o">/</span><span 
class="n">publisher</span><span class="o">/</span><span 
class="n">slider</span><span class="o">/</span><span class="n">core</span><span 
class="o">-</span><span class="n">site</span><span class="p">.</span><span 
class="n">xml</span>
+<span class="o">/</span><span class="n">ws</span><span class="o">/</span><span 
class="n">v1</span><span class="o">/</span><span class="n">slider</span><span 
class="o">/</span><span class="n">publisher</span><span class="o">/</span><span 
class="n">slider</span><span class="o">/</span><span class="n">core</span><span 
class="o">-</span><span class="n">site</span><span class="p">.</span><span 
class="k">properties</span>
+<span class="o">/</span><span class="n">ws</span><span class="o">/</span><span 
class="n">v1</span><span class="o">/</span><span class="n">slider</span><span 
class="o">/</span><span class="n">publisher</span><span class="o">/</span><span 
class="n">slider</span><span class="o">/</span><span class="n">core</span><span 
class="o">-</span><span class="n">site</span><span class="p">.</span><span 
class="n">json</span>
+</pre></div>
+
+
+<p>The path for these becomes:</p>
+<div class="codehilite"><pre>/ws/v1/slider/publisher/<span 
class="cp">${</span><span class="nb">set</span><span class="o">-</span><span 
class="n">name</span><span class="cp">}</span>/{configuration}.{format}
+</pre></div>
+
+
+<p>The value of individual properties can be retrieved as JSON entries under 
the path</p>
+<div class="codehilite"><pre>/ws/v1/slider/publisher/<span 
class="cp">${</span><span class="nb">set</span><span class="o">-</span><span 
class="n">name</span><span class="cp">}</span>/{configuration}/{key}
+</pre></div>
+
+
+<p>Thus the response to a GET of 
<code>/ws/v1/slider/publisher/slider/core-site/fs.defaultFS</code></p>
+<p>is </p>
+<div class="codehilite"><pre><span class="p">{</span>&quot;<span 
class="n">fs</span><span class="p">.</span><span 
class="n">defaultFS</span>&quot;<span class="p">:</span>&quot;<span 
class="n">hdfs</span><span class="p">:</span><span class="o">//</span><span 
class="n">devix</span><span class="p">.</span><span 
class="n">cotham</span><span class="p">.</span><span class="n">uk</span><span 
class="p">:</span>8020&quot;<span class="p">}</span>
+</pre></div>
+
+
+<p>Slider uses this service to publish its configuration 
(<code>core-site.xml</code>), etc, for diagnostics —and the configurations of 
the deployed applications on the command line</p>
+<div class="codehilite"><pre><span class="n">slider</span> <span 
class="n">registry</span> <span class="o">--</span><span 
class="n">getconf</span> <span class="n">hbase</span><span 
class="o">-</span><span class="n">site</span><span class="p">.</span><span 
class="n">xml</span> <span class="o">--</span><span class="n">name</span> <span 
class="n">hbase1</span> <span class="o">--</span><span class="n">destdir</span> 
<span class="n">out</span>
+</pre></div>
+
+
+<p>This configuration publishing service is listed in the YARN Registry, and 
could be implemented by other applications to publish their configurations 
—including the standard YARN services.</p>
+<h1 id="application-state-in-slider-v1-format">Application state in slider v1 
format</h1>
+<p>The original "v1" formatted slider specification/state is provided, wrapped 
in HTML, at:</p>
+<div class="codehilite"><pre><span class="n">http</span><span 
class="p">:</span><span class="o">//</span><span class="n">devix</span><span 
class="p">.</span><span class="n">cotham</span><span class="p">.</span><span 
class="n">uk</span><span class="p">:</span>8088<span class="o">/</span><span 
class="n">proxy</span><span class="o">/</span><span 
class="n">application_1418130391694_0002</span><span class="o">/</span><span 
class="n">slideram</span><span class="o">/</span><span class="n">spec</span>
+</pre></div>
+
+
+<p>This combines the declaration of what is desired with information about 
what has actually been provided</p>
+<p>(this shows the merits of a single file model which can describe both the 
desired state and the actual state; the same architecture of <a 
href="http://www.hpl.hp.com/techreports/2012/HPL-2012-158R1.pdf";>the HPL Cells 
cloud infrastructure</a>)</p>
+<h1 id="slider-070-codahale-metrics-servlets">Slider 0.70: codahale metrics 
servlets</h1>
+<p>Slider 0.70 is adding metrics via the Codahale metrics library; as well as 
(optionally) publishing to Ganglia, the metrics service export metrics,health 
and liveness information, as well as a thread dump</p>
+<table>
+  <tr>
+    <td>path</td>
+    <td>content</td>
+  </tr>
+  <tr>
+    <td>/system/metrics</td>
+    <td>Metrics information, available in JSON if &amp;format=json 
appended</td>
+  </tr>
+  <tr>
+    <td>/system/health</td>
+    <td>health information from registered "health" classes</td>
+  </tr>
+  <tr>
+    <td>/system/ping</td>
+    <td>minimal liveness probe</td>
+  </tr>
+  <tr>
+    <td>/system/threads</td>
+    <td>thread dump</td>
+  </tr>
+</table>
+
+<div class="codehilite"><pre><span class="o">/</span><span 
class="n">system</span><span class="o">/</span><span class="n">metrics</span> 
<span class="p">:</span>
+
+<span class="p">{</span>
+  &quot;<span class="n">version</span>&quot;<span class="p">:</span> 
&quot;3<span class="p">.</span>0<span class="p">.</span>0&quot;<span 
class="p">,</span>
+  &quot;<span class="n">gauges</span>&quot;<span class="p">:</span> <span 
class="p">{},</span>
+  &quot;<span class="n">counters</span>&quot;<span class="p">:</span> <span 
class="p">{},</span>
+  &quot;<span class="n">histograms</span>&quot;<span class="p">:</span> <span 
class="p">{},</span>
+  &quot;<span class="n">meters</span>&quot;<span class="p">:</span> <span 
class="p">{},</span>
+  &quot;<span class="n">timers</span>&quot;<span class="p">:</span> <span 
class="p">{}</span>
+<span class="p">}</span>
+
+<span class="o">/</span><span class="n">system</span><span 
class="o">/</span><span class="n">health</span> <span class="p">:</span>
+
+  <span class="p">{</span>&quot;<span class="n">AM</span> <span 
class="n">Health</span>&quot;<span class="p">:</span> <span 
class="p">{</span>&quot;<span class="n">healthy</span>&quot;<span 
class="p">:</span> <span class="n">true</span><span class="p">}}</span>
+</pre></div>
+
+
+<p>As metrics are added, this content will start to be meaningful.</p>
+  </div>
+
+  <div id="footer">
+    <a alt="Apache Software Foundation" href="http://www.apache.org";>
+      <img id="asf-logo" alt="Apache Software Foundation" 
src="/images/feather-small.gif" width="100">
+    </a>
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011-2014 The Apache Software Foundation, Licensed 
under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache 
License, Version 2.0</a>.
+        Apache Slider, Slider, Apache, the Apache feather logo, and the Apache 
Incubator
+        project logo are trademarks of the <a 
href="http://www.apache.org";>Apache Software Foundation</a>.<br />
+        Site created with <a href="http://getbootstrap.com/";>Bootstrap</a> 
including icons from <a href="http://glyphicons.com/";>GLYPHICONS</a> and <a 
href="http://fontawesome.io/";>Font Awesome</a>.
+      </p>
+    </div> 
+  </div>
+  </div>
+
+</div>
+</div>
+
+<script type="text/javascript">
+
+</script>
+</body>
+</html>

Modified: websites/staging/slider/trunk/content/index.html
==============================================================================
--- websites/staging/slider/trunk/content/index.html (original)
+++ websites/staging/slider/trunk/content/index.html Thu Dec 11 15:17:14 2014
@@ -232,11 +232,12 @@ code changes and as of this writing, it
 <li><a href="/docs/configuration/index.html">Application configuration 
model</a></li>
 <li><a href="/docs/high_availability.html">High Availability</a></li>
 <li><a href="/docs/troubleshooting.html">Troubleshooting</a></li>
+<li><a href="/docs/api/index.html">REST API</a></li>
 </ul>
 <h2 id="developing">Developing</h2>
 <ul>
 <li><a href="/developing/building.html">Building</a></li>
-<li><a href="/docs/debugging.html">Debugging</a></li>
+<li><a href="/developing/debugging.html">Debugging</a></li>
 <li><a href="/developing/testing.html">Testing</a></li>
 <li><a href="/developing/functional_tests.html">Functional Testing</a></li>
 <li><a href="/developing/manual_testing.html">Manual Testing</a></li>


Reply via email to