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
™" 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> "<span
class="n">MUST</span>"<span class="p">,</span> "<span
class="n">MUST</span> <span class="n">NOT</span>"<span class="p">,</span>
"<span class="n">REQUIRED</span>"<span class="p">,</span> "<span
class="n">SHALL</span>"<span class="p">,</span> "<span
class="n">SHALL</span>
+ <span class="n">NOT</span>"<span class="p">,</span> "<span
class="n">SHOULD</span>"<span class="p">,</span> "<span
class="n">SHOULD</span> <span class="n">NOT</span>"<span
class="p">,</span> "<span class="n">RECOMMENDED</span>"<span
class="p">,</span> "<span class="n">MAY</span>"<span
class="p">,</span> <span class="n">and</span>
+ "<span class="n">OPTIONAL</span>" <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<->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>"<span class="n">nodes</span>"<span
class="p">:[</span>"<span class="n">services</span>"<span
class="p">,</span>"<span class="n">users</span>"<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>
+"<span class="n">nodes</span>"<span class="p">:</span> <span
class="p">[</span>"<span class="n">components</span>"<span
class="p">],</span>
+"<span class="n">service</span>"<span class="p">:</span> <span
class="p">{</span>
+ "<span class="n">type</span>"<span class="p">:</span> "<span
class="n">JSONServiceRecord</span>"<span class="p">,</span>
+ "<span class="n">description</span>"<span class="p">:</span>
"<span class="n">Slider</span> <span class="n">Application</span> <span
class="n">Master</span>"<span class="p">,</span>
+ "<span class="n">external</span>"<span class="p">:</span> <span
class="p">[</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<span class="n">http</span><span class="p">:</span><span
class="o">//</span>"<span class="p">,</span>
+ "<span class="n">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">webui</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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="p">}]</span>
+ <span class="p">},</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<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>"<span class="p">,</span>
+ "<span class="n">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">REST</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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>"<span class="p">}]</span>
+ <span class="p">},</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<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">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">REST</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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="p">}]</span>
+ <span class="p">},</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<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>"<span class="p">,</span>
+ "<span class="n">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">REST</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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>"<span class="p">}]</span>
+ <span class="p">},</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<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>"<span class="p">,</span>
+ "<span class="n">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">REST</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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>"<span class="p">}]</span>
+ <span class="p">},</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<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>"<span class="p">,</span>
+ "<span class="n">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">REST</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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>"<span class="p">}]</span>
+ <span class="p">}</span>
+ <span class="p">],</span>
+ "<span class="n">internal</span>"<span class="p">:</span> <span
class="p">[</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<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>"<span class="p">,</span>
+ "<span class="n">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">REST</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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>"<span class="p">}]</span>
+ <span class="p">},</span>
+ <span class="p">{</span>
+ "<span class="n">api</span>"<span class="p">:</span>
"<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>"<span class="p">,</span>
+ "<span class="n">addressType</span>"<span class="p">:</span>
"<span class="n">uri</span>"<span class="p">,</span>
+ "<span class="n">protocolType</span>"<span class="p">:</span>
"<span class="n">REST</span>"<span class="p">,</span>
+ "<span class="n">addresses</span>"<span class="p">:</span>
<span class="p">[{</span>"<span class="n">uri</span>"<span
class="p">:</span> "<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>"<span class="p">}]</span>
+ <span class="p">}</span>
+ <span class="p">],</span>
+ "<span class="n">yarn</span><span class="p">:</span><span
class="n">persistence</span>"<span class="p">:</span> "<span
class="n">application</span>"<span class="p">,</span>
+ "<span class="n">yarn</span><span class="p">:</span><span
class="n">id</span>"<span class="p">:</span> "<span
class="n">application_1418130391694_0002</span>"
+<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>
+ "<span class="n">uris</span>"<span class="p">:</span> <span
class="p">{</span>
+ "<span class="n">slider</span>"<span
class="p">:</span>"<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>"<span class="p">,</span>
+ "<span class="n">exports</span>"<span
class="p">:</span>"<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>"
+ <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>
+ "<span class="n">configurations</span>"<span class="p">:{</span>
+ "<span class="n">core</span><span class="o">-</span><span
class="n">site</span>"<span class="p">:{</span>
+ "<span class="n">description</span>"<span
class="p">:</span>"<span class="n">Core</span> <span class="n">site</span>
<span class="n">settings</span>"<span class="p">,</span>
+ "<span class="n">updated</span>"<span
class="p">:</span>0<span class="p">,</span>
+ "<span class="n">entries</span>"<span
class="p">:{},</span>"
+ <span class="n">empty</span>"<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>"<span
class="n">fs</span><span class="p">.</span><span
class="n">defaultFS</span>"<span class="p">:</span>"<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"<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 &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>
+ "<span class="n">version</span>"<span class="p">:</span>
"3<span class="p">.</span>0<span class="p">.</span>0"<span
class="p">,</span>
+ "<span class="n">gauges</span>"<span class="p">:</span> <span
class="p">{},</span>
+ "<span class="n">counters</span>"<span class="p">:</span> <span
class="p">{},</span>
+ "<span class="n">histograms</span>"<span class="p">:</span> <span
class="p">{},</span>
+ "<span class="n">meters</span>"<span class="p">:</span> <span
class="p">{},</span>
+ "<span class="n">timers</span>"<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>"<span class="n">AM</span> <span
class="n">Health</span>"<span class="p">:</span> <span
class="p">{</span>"<span class="n">healthy</span>"<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 © 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>