You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by bu...@apache.org on 2014/07/22 20:17:30 UTC

svn commit: r917125 [8/18] - in /websites/staging/slider/trunk/content: ./ css/ design/ design/registry/ design/specification/ developing/ docs/ docs/configuration/ docs/slider_specs/ downloads/ fonts/ images/ js/ release_notes/

Added: websites/staging/slider/trunk/content/developing/building.html
==============================================================================
--- websites/staging/slider/trunk/content/developing/building.html (added)
+++ websites/staging/slider/trunk/content/developing/building.html Tue Jul 22 18:17:12 2014
@@ -0,0 +1,649 @@
+<!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 id="nav_use_examples"><a href="/docs/examples.html">Examples</a></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 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_package"><a href="/docs/slider_specs/index.html">Creating App Packages</a></li>
+<li id="nav_use_app_configuration"><a href="/docs/configuration/index.html">App Configuration Model</a></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>
+</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.40-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>
+
+    <!---
+   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.
+-->
+
+<h1 id="building-apache-slider">Building Apache Slider</h1>
+<p>Here's how to set this up.</p>
+<h2 id="before-you-begin">Before you begin</h2>
+<h3 id="networking">Networking</h3>
+<p>The network on the development system must be functional, with hostname lookup
+of the local host working. Tests will fail without this. For maven builds to
+work, remote network access is often a pre-requisite.</p>
+<h3 id="java-7">Java 7</h3>
+<p>Slider is built on Java 7 -please have a JDK for Java 7 or 8 set up</p>
+<h3 id="python">Python</h3>
+<p>Slider requires python 2.7</p>
+<h3 id="maven">Maven</h3>
+<p>You will need a version of Maven 3.0+, set up with enough memory</p>
+<div class="codehilite"><pre><span class="n">MAVEN_OPTS</span><span class="p">=</span><span class="o">-</span><span class="n">Xms256m</span> <span class="o">-</span><span class="n">Xmx512m</span> <span class="o">-</span><span class="n">Djava</span><span class="p">.</span><span class="n">awt</span><span class="p">.</span><span class="n">headless</span><span class="p">=</span><span class="n">true</span>
+</pre></div>
+
+
+<p><em>Important</em>: As of October 6, 2013, Maven 3.1 is not supported due to
+<a href="https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound">version issues</a>.</p>
+<h3 id="protoc">Protoc</h3>
+<p>You need a copy of the <code>protoc</code>  compiler for protobuf compilation</p>
+<ol>
+<li>OS/X: <code>brew install protobuf</code></li>
+<li>Others: consult <a href="http://wiki.apache.org/hadoop/HowToContribute">Building Hadoop documentation</a>.</li>
+</ol>
+<p>The version of <code>protoc</code> installed must be the same as that used by Hadoop itself.
+This is absolutely critical to prevent JAR version problems.</p>
+<h3 id="build-install-and-run-unit-tests">Build, install and run unit tests</h3>
+<div class="codehilite"><pre> <span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span>
+</pre></div>
+
+
+<p>Slider code base includes unit tests and functional tests. By default functional tests are not run as these tests are developed to be run against live hadoop clusters and require some manual setup. You can run them based as described at <a href="/developing/functional_tests.html">functional test</a>.     </p>
+<h3 id="create-slider-package">Create Slider Package</h3>
+<div class="codehilite"><pre> <span class="n">mvn</span> <span class="n">clean</span> <span class="n">site</span><span class="p">:</span><span class="n">site</span> <span class="n">site</span><span class="p">:</span><span class="n">stage</span> <span class="n">package</span> <span class="o">-</span><span class="n">DskipTests</span>
+</pre></div>
+
+
+<p><strong><em>At this point you are ready to use the Slider toolset. The build instructions below are optional and are proven to be useful when debugging deep into the hadoop code base.</em></strong></p>
+<hr />
+<h2 id="building-a-compatible-hadoop-version">Building a compatible Hadoop version</h2>
+<p>Slider is built against Hadoop 2 -you can download and install
+a copy from the <a href="http://hadoop.apache.org">Apache Hadoop Web Site</a>.</p>
+<p>During development, its convenient (but not mandatory)
+to have a local version of Hadoop -so that we can find and fix bugs/add features in
+Hadoop as well in Slider.</p>
+<p>To build and install locally, check out apache svn/github, branch <code>release-2.4.0</code>,
+and create a branch off that tag</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">clone</span> <span class="n">git</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">hadoop</span><span class="o">-</span><span class="n">common</span><span class="p">.</span><span class="n">git</span> 
+<span class="n">cd</span> <span class="n">hadoop</span><span class="o">-</span><span class="n">common</span>
+<span class="n">git</span> <span class="n">remote</span> <span class="n">rename</span> <span class="n">origin</span> <span class="n">apache</span>
+<span class="n">git</span> <span class="n">fetch</span> <span class="o">--</span><span class="n">tags</span> <span class="n">apache</span>
+<span class="n">git</span> <span class="n">checkout</span> <span class="n">release</span><span class="o">-</span>2<span class="p">.</span>4<span class="p">.</span>0 <span class="o">--</span> 
+<span class="n">git</span> <span class="n">checkout</span> <span class="o">-</span><span class="n">b</span> <span class="n">release</span><span class="o">-</span>2<span class="p">.</span>4<span class="p">.</span>0
+</pre></div>
+
+
+<p>For the scripts below, set the <code>HADOOP_VERSION</code> variable to the version</p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">HADOOP_VERSION</span><span class="p">=</span>2<span class="p">.</span>4<span class="p">.</span>0
+</pre></div>
+
+
+<p>or, for building against a pre-release version of Hadoop 2.4</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">branch</span><span class="o">-</span>2
+<span class="n">export</span> <span class="n">HADOOP_VERSION</span><span class="p">=</span>2<span class="p">.</span>4<span class="p">.</span>0<span class="o">-</span><span class="n">SNAPSHOT</span>
+</pre></div>
+
+
+<p>To build and install it locally, skipping the tests:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">DskipTests</span>
+</pre></div>
+
+
+<p>To make a tarball for use in test runs:</p>
+<div class="codehilite"><pre><span class="c">#On  osx</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="n">package</span> <span class="o">-</span><span class="n">Pdist</span> <span class="o">-</span><span class="n">Dtar</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Dmaven</span><span class="p">.</span><span class="n">javadoc</span><span class="p">.</span><span class="n">skip</span><span class="p">=</span><span class="nb">true</span>
+
+<span class="c"># on linux</span>
+<span class="n">mvn</span> <span class="n">clean</span> <span class="n">package</span> <span class="o">-</span><span class="n">Pdist</span> <span class="o">-</span><span class="n">Pnative</span> <span class="o">-</span><span class="n">Dtar</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Dmaven</span><span class="p">.</span><span class="n">javadoc</span><span class="p">.</span><span class="n">skip</span><span class="p">=</span><span class="nb">true</span>
+</pre></div>
+
+
+<p>Then expand this</p>
+<div class="codehilite"><pre><span class="n">pushd</span> <span class="n">hadoop</span><span class="o">-</span><span class="n">dist</span><span class="o">/</span><span class="n">target</span><span class="o">/</span>
+<span class="n">gunzip</span> <span class="n">hadoop</span><span class="o">-</span>$<span class="n">HADOOP_VERSION</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span> 
+<span class="n">tar</span> <span class="o">-</span><span class="n">xvf</span> <span class="n">hadoop</span><span class="o">-</span>$<span class="n">HADOOP_VERSION</span><span class="p">.</span><span class="n">tar</span> 
+<span class="n">popd</span>
+</pre></div>
+
+
+<p>This creates an expanded version of Hadoop. You can now actually run Hadoop
+from this directory. Do note that unless you have the native code built for
+your target platform, Hadoop will be slower. </p>
+<h2 id="building-a-compatible-hbase-version">Building a compatible HBase version</h2>
+<p>If you need to build a version of HBase -rather than use a released version,
+here are the instructions (for the hbase-0.98 release branch)</p>
+<p>Checkout the HBase <code>trunk</code> branch from apache svn/github.  </p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">clone</span> <span class="n">git</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">hbase</span><span class="p">.</span><span class="n">git</span>
+<span class="n">cd</span> <span class="n">hbase</span>
+<span class="n">git</span> <span class="n">remote</span> <span class="n">rename</span> <span class="n">origin</span> <span class="n">apache</span>
+<span class="n">git</span> <span class="n">fetch</span> <span class="o">--</span><span class="n">tags</span> <span class="n">apache</span>
+</pre></div>
+
+
+<p>then</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="o">-</span><span class="n">b</span> <span class="n">apache</span><span class="o">/</span>0<span class="p">.</span>98
+</pre></div>
+
+
+<p>or</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> <span class="n">tags</span><span class="o">/</span>0<span class="p">.</span>98<span class="p">.</span>1
+</pre></div>
+
+
+<p>If you have already been building versions of HBase, remove the existing
+set of artifacts for safety:</p>
+<div class="codehilite"><pre><span class="n">rm</span> <span class="o">-</span><span class="n">rf</span> <span class="o">~/</span><span class="p">.</span><span class="n">m2</span><span class="o">/</span><span class="n">repository</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">hbase</span><span class="o">/</span>
+</pre></div>
+
+
+<p>The maven command for building hbase artifacts against this hadoop version is </p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="n">assembly</span><span class="p">:</span><span class="n">single</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Dmaven</span><span class="p">.</span><span class="n">javadoc</span><span class="p">.</span><span class="n">skip</span><span class="p">=</span><span class="n">true</span>
+</pre></div>
+
+
+<p>To use a different version of Hadoop from that defined in the <code>hadoop-two.version</code>
+property of<code>/pom.xml</code>:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="n">assembly</span><span class="p">:</span><span class="n">single</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Dmaven</span><span class="p">.</span><span class="n">javadoc</span><span class="p">.</span><span class="n">skip</span><span class="p">=</span><span class="n">true</span> <span class="o">-</span><span class="n">Dhadoop</span><span class="o">-</span><span class="n">two</span><span class="p">.</span><span class="n">version</span><span class="p">=</span>$<span class="n">HADOOP_VERSION</span>
+</pre></div>
+
+
+<p>This will create an hbase <code>tar.gz</code> file in the directory <code>hbase-assembly/target/</code>
+in the hbase source tree. </p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">HBASE_VERSION</span><span class="p">=</span>0<span class="p">.</span>98<span class="p">.</span>1
+
+<span class="n">pushd</span> <span class="n">hbase</span><span class="o">-</span><span class="n">assembly</span><span class="o">/</span><span class="n">target</span>
+<span class="n">gunzip</span> <span class="n">hbase</span><span class="o">-</span>$<span class="n">HBASE_VERSION</span><span class="o">-</span><span class="n">bin</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span> 
+<span class="n">tar</span> <span class="o">-</span><span class="n">xvf</span> <span class="n">hbase</span><span class="o">-</span>$<span class="n">HBASE_VERSION</span><span class="o">-</span><span class="n">bin</span><span class="p">.</span><span class="n">tar</span>
+<span class="n">gzip</span> <span class="n">hbase</span><span class="o">-</span>$<span class="n">HBASE_VERSION</span><span class="o">-</span><span class="n">bin</span><span class="p">.</span><span class="n">tar</span>
+<span class="n">popd</span>
+</pre></div>
+
+
+<p>This will create an untarred directory containing
+hbase. Both the <code>.tar.gz</code> and untarred file are needed for testing. Most
+tests just work directly with the untarred file as it saves time uploading
+and downloading then expanding the file.</p>
+<p>(and if you set <code>HBASE_VERSION</code> to something else, you can pick up that version
+-making sure that slider is in sync)</p>
+<p>For more information (including recommended Maven memory configuration options),
+see <a href="http://hbase.apache.org/book/build.html">HBase building</a></p>
+<p>For building just the JAR files:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Dhadoop</span><span class="p">.</span><span class="n">profile</span><span class="p">=</span>2<span class="p">.</span>0 <span class="o">-</span><span class="n">Dhadoop</span><span class="o">-</span><span class="n">two</span><span class="p">.</span><span class="n">version</span><span class="p">=</span>$<span class="n">HADOOP_VERSION</span>
+</pre></div>
+
+
+<p><em>Tip:</em> you can force set a version in Maven by having it update all the POMs:</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">versions</span><span class="p">:</span><span class="n">set</span> <span class="o">-</span><span class="n">DnewVersion</span><span class="p">=</span>0<span class="p">.</span>98<span class="p">.</span>1<span class="o">-</span><span class="n">SNAPSHOT</span>
+</pre></div>
+
+
+<h2 id="building-accumulo">Building Accumulo</h2>
+<p>Clone accumulo from apache;</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">clone</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">-</span><span class="n">wip</span><span class="o">-</span><span class="n">us</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">accumulo</span><span class="p">.</span><span class="n">git</span>
+</pre></div>
+
+
+<p>Check out branch 1.6.1-SNAPSHOT</p>
+<div class="codehilite"><pre><span class="n">git</span> <span class="n">checkout</span> 1<span class="p">.</span>6<span class="p">.</span>1<span class="o">-</span><span class="n">SNAPSHOT</span>
+</pre></div>
+
+
+<p>In the accumulo project directory, build it</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Passemble</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Dmaven</span><span class="p">.</span><span class="n">javadoc</span><span class="p">.</span><span class="n">skip</span><span class="p">=</span><span class="n">true</span> <span class="o">\</span>
+ <span class="o">-</span><span class="n">Dhadoop</span><span class="p">.</span><span class="n">profile</span><span class="p">=</span>2
+</pre></div>
+
+
+<p>The default Hadoop version for accumulo-1.6.1 is hadoop 2.4.0; to build
+against a different version use the command</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">Passemble</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Dmaven</span><span class="p">.</span><span class="n">javadoc</span><span class="p">.</span><span class="n">skip</span><span class="p">=</span><span class="n">true</span> <span class="o">\</span>
+ <span class="o">-</span><span class="n">Dhadoop</span><span class="p">.</span><span class="n">profile</span><span class="p">=</span>2  <span class="o">-</span><span class="n">Dhadoop</span><span class="p">.</span><span class="n">version</span><span class="p">=</span>$<span class="n">HADOOP_VERSION</span>
+</pre></div>
+
+
+<p>This creates an accumulo tar.gz file in <code>assemble/target/</code>. Extract this
+to create an expanded directory</p>
+<div class="codehilite"><pre><span class="n">accumulo</span><span class="o">/</span><span class="n">assemble</span><span class="o">/</span><span class="n">target</span><span class="o">/</span><span class="n">accumulo</span><span class="o">-</span>1<span class="p">.</span>6<span class="p">.</span>1<span class="o">-</span><span class="n">SNAPSHOT</span><span class="o">-</span><span class="n">bin</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span>
+</pre></div>
+
+
+<p>This can be done with the command sequence</p>
+<div class="codehilite"><pre><span class="n">export</span> <span class="n">ACCUMULO_VERSION</span><span class="p">=</span>1<span class="p">.</span>6<span class="p">.</span>1<span class="o">-</span><span class="n">SNAPSHOT</span>
+
+<span class="n">pushd</span> <span class="n">assemble</span><span class="o">/</span><span class="n">target</span><span class="o">/</span>
+<span class="n">gunzip</span> <span class="o">-</span><span class="n">f</span> <span class="n">accumulo</span><span class="o">-</span>$<span class="n">ACCUMULO_VERSION</span><span class="o">-</span><span class="n">bin</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span>
+<span class="n">tar</span> <span class="o">-</span><span class="n">xvf</span> <span class="n">accumulo</span><span class="o">-</span>$<span class="n">ACCUMULO_VERSION</span><span class="o">-</span><span class="n">bin</span><span class="p">.</span><span class="n">tar</span><span class="p">.</span><span class="n">gz</span>
+<span class="n">popd</span>
+</pre></div>
+
+
+<p>Note that the final location of the accumulo files is needed for the configuration,
+it may be directly under target/ or it may be in a subdirectory, with
+a path such as <code>target/accumulo-$ACCUMULO_VERSION-dev/accumulo-$ACCUMULO_VERSION/</code></p>
+<h2 id="building-the-slider-rpm">Building the Slider RPM</h2>
+<p>It is possible to build an RPM file for slider. This is an architecture
+independent RPM with the artifacts  and layout of the slider .tar file, but hosted
+under <code>/usr/lib/slider</code>.</p>
+<p>The configuration directory is <code>/usr/lib/slider/conf</code>; Binaries are found under
+<code>/usr/lib/slider/conf/bin</code></p>
+<p>The RPM can only be built on a Linux system with the <code>rpm</code> command installed;
+it is an optional artifact that must be explicitly created by enabling the maven
+<code>rpm</code> profile</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="o">-</span><span class="n">DskipTests</span> <span class="o">-</span><span class="n">Prpm</span>
+</pre></div>
+
+
+<p>This creates an RPM under <code>slider-assembly/target/rpm/slider/RPMS/noarch/</code>; the
+RPM name is built from the project version, with timestamp generation during
+<code>-SNAPSHOT</code> builds to ensure that RPM updates succeed.</p>
+<p>The RPM can be manually examined by open what is really an archive file, and
+verifying its contents. </p>
+<p>For a release, the installation of the RPM itself must be verified</p>
+<ol>
+<li>build the RPM: <code>mvn install -Prpm</code></li>
+<li><code>scp</code> the RPM to the target machine. If you build it on the target machine
+this step can be ommitted</li>
+<li>
+<p>Install the RPM</p>
+<div class="codehilite"><pre><span class="n">rpm</span> <span class="o">-</span><span class="n">Uvh</span> <span class="n">slider</span><span class="o">*</span><span class="p">.</span><span class="n">rpm</span>
+</pre></div>
+
+
+<ol>
+<li>Verify that the installation has succeeded by executing the <code>slider version</code>
+command.</li>
+<li>Modify the configuration files in <code>/usr/lib/slider/conf</code> to bind slider
+to the target cluster.</li>
+<li>To uninstall: <code>rpm -e slider</code></li>
+</ol>
+</li>
+</ol>
+<h3 id="example">Example</h3>
+<div class="codehilite"><pre><span class="c"># rpm -Uvh slider-0.31.0-incubating_SNAPSHOT20140709153353.noarch.rpm </span>
+<span class="n">Preparing</span><span class="p">...</span>                <span class="c">########################################### [100%]</span>
+   1<span class="p">:</span><span class="n">slider</span>                 <span class="c">########################################### [100%]</span>
+
+<span class="c"># ls -l /usr/lib/slider</span>
+<span class="n">total</span> 16
+<span class="n">drwxr</span><span class="o">-</span><span class="n">xr</span><span class="o">-</span><span class="n">x</span> 3 <span class="n">root</span>   <span class="n">root</span>   4096 <span class="n">Jul</span>  9 19<span class="p">:</span>57 <span class="n">agent</span>
+<span class="n">drwxr</span><span class="o">-</span><span class="n">xr</span><span class="o">-</span><span class="n">x</span> 2 <span class="n">mapred</span> <span class="n">hadoop</span> 4096 <span class="n">Jul</span>  9 19<span class="p">:</span>57 <span class="n">bin</span>
+<span class="n">drwxr</span><span class="o">-</span><span class="n">xr</span><span class="o">-</span><span class="n">x</span> 2 <span class="n">mapred</span> <span class="n">hadoop</span> 4096 <span class="n">Jul</span>  9 19<span class="p">:</span>57 <span class="n">conf</span>
+<span class="n">drw</span><span class="o">-</span><span class="n">r</span><span class="o">--</span><span class="n">r</span><span class="o">--</span> 2 <span class="n">mapred</span> <span class="n">hadoop</span> 4096 <span class="n">Jul</span>  9 19<span class="p">:</span>57 <span class="n">lib</span>
+
+<span class="c"># ls -l /usr/lib/slider/bin</span>
+<span class="n">total</span> 12
+<span class="o">-</span><span class="n">rwxr</span><span class="o">-</span><span class="n">xr</span><span class="o">-</span><span class="n">x</span> 1 <span class="n">mapred</span> <span class="n">hadoop</span> 2345 <span class="n">Jul</span>  9  2014 <span class="n">slider</span>
+<span class="o">-</span><span class="n">rwxr</span><span class="o">-</span><span class="n">xr</span><span class="o">-</span><span class="n">x</span> 1 <span class="n">mapred</span> <span class="n">hadoop</span> 5096 <span class="n">Jul</span>  9  2014 <span class="n">slider</span><span class="p">.</span><span class="n">py</span>
+
+<span class="c"># /usr/lib/slider/bin/slider version</span>
+<span class="n">slider_home</span> <span class="p">=</span> <span class="s">&quot;/usr/lib/slider&quot;</span>
+<span class="n">slider_jvm_opts</span> <span class="p">=</span> <span class="s">&quot;-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true</span>
+<span class="s">  -Xmx256m -Djava.confdir=/usr/lib/slider/conf&quot;</span>
+<span class="n">classpath</span> <span class="p">=</span> <span class="s">&quot;/usr/lib/slider/lib/*:/usr/lib/slider/conf:&quot;</span>
+
+<span class="n">command</span> <span class="n">is</span> <span class="n">java</span> <span class="o">-</span><span class="n">Djava</span><span class="p">.</span><span class="n">net</span><span class="p">.</span><span class="n">preferIPv4Stack</span><span class="p">=</span><span class="nb">true</span> <span class="o">-</span><span class="n">Djava</span><span class="p">.</span><span class="n">awt</span><span class="p">.</span><span class="n">headless</span><span class="p">=</span><span class="nb">true</span> <span class="o">-</span><span class="n">Xmx256m</span>
+  <span class="o">-</span><span class="n">Djava</span><span class="p">.</span><span class="n">confdir</span><span class="p">=</span><span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">conf</span> <span class="o">--</span><span class="n">classpath</span> <span class="s">&quot;/usr/lib/slider/lib/*:/usr/lib/slider/conf:&quot;</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">Slider</span> <span class="nb">version</span>
+
+
+2014<span class="o">-</span>05<span class="o">-</span>16 19<span class="p">:</span>34<span class="p">:</span>34<span class="p">,</span>730 <span class="p">[</span><span class="n">main</span><span class="p">]</span> <span class="n">INFO</span>  <span class="n">client</span><span class="p">.</span><span class="n">RMProxy</span> <span class="o">-</span> <span class="n">Connecting</span> <span class="n">to</span> <span class="n">ResourceManager</span> <span class="n">at</span> <span class="o">/</span>0<span class="p">.</span>0<span class="p">.</span>0<span class="p">.</span>0<span class="p">:</span>8032
+2014<span class="o">-</span>05<span class="o">-</span>16 19<span class="p">:</span>34<span class="p">:</span>35<span class="p">,</span>300 <span class="p">[</span><span class="n">main</span><span class="p">]</span> <span class="n">INFO</span>  <span class="n">client</span><span class="p">.</span><span class="n">SliderClient</span> <span class="o">-</span> <span class="n">Slider</span> <span class="n">Core</span><span class="o">-</span>0<span class="p">.</span>31<span class="p">.</span>0<span class="o">-</span><span class="n">incubating</span><span class="o">-</span><span class="n">SNAPSHOT</span>
+<span class="n">Built</span> <span class="n">against</span> <span class="n">commit</span><span class="c"># d44d4c1bf0</span>
+2014<span class="o">-</span>05<span class="o">-</span>16 19<span class="p">:</span>34<span class="p">:</span>35<span class="p">,</span>304 <span class="p">[</span><span class="n">main</span><span class="p">]</span> <span class="n">INFO</span>  <span class="n">client</span><span class="p">.</span><span class="n">SliderClient</span> <span class="o">-</span> <span class="n">Compiled</span> <span class="n">against</span> <span class="n">Hadoop</span> 2<span class="p">.</span>4<span class="p">.</span>0
+2014<span class="o">-</span>05<span class="o">-</span>16 19<span class="p">:</span>34<span class="p">:</span>35<span class="p">,</span>310 <span class="p">[</span><span class="n">main</span><span class="p">]</span> <span class="n">INFO</span>  <span class="n">client</span><span class="p">.</span><span class="n">SliderClient</span> <span class="o">-</span> <span class="n">Hadoop</span> <span class="n">runtime</span> <span class="nb">version</span> <span class="n">branch</span><span class="o">-</span>2<span class="p">.</span>4<span class="p">.</span>0
+<span class="n">with</span> <span class="nb">source</span> <span class="n">checksum</span> 375<span class="n">b2832a6641759c6eaf6e3e998147</span> <span class="nb">and</span> <span class="n">build</span> <span class="nb">date</span> 2014<span class="o">-</span>03<span class="o">-</span>31<span class="n">T08</span><span class="p">:</span>31<span class="n">Z</span>
+2014<span class="o">-</span>05<span class="o">-</span>16 19<span class="p">:</span>34<span class="p">:</span>35<span class="p">,</span>314 <span class="p">[</span><span class="n">main</span><span class="p">]</span> <span class="n">INFO</span>  <span class="n">util</span><span class="p">.</span><span class="n">ExitUtil</span> <span class="o">-</span> <span class="n">Exiting</span> <span class="n">with</span> <span class="n">status</span> 0
+</pre></div>
+
+
+<p>This output shows that slider is not configured yet: the Resource manager
+Address of <code>/0.0.0.0:8032</code> is invalid.</p>
+<p>Uninstallation can also be tested</p>
+<div class="codehilite"><pre><span class="c"># rpm -e slider</span>
+<span class="c"># /usr/lib/slider/bin/slider version</span>
+<span class="o">-</span><span class="n">bash</span><span class="p">:</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">slider</span><span class="o">/</span><span class="n">bin</span><span class="o">/</span><span class="n">slider</span><span class="p">:</span> <span class="n">No</span> <span class="n">such</span> <span class="n">file</span> <span class="nb">or</span> <span class="n">directory</span>
+</pre></div>
+
+
+<h3 id="rpm-configuration-files">RPM Configuration files</h3>
+<p>The configuration directory of slider is chosen when the RPM is built. It is fixed
+in <code>slider-assembly/pom.xml</code> to  <code>src/conf-hdp</code></p>
+<div class="codehilite"><pre><span class="nt">&lt;src.confdir&gt;</span>src/conf-hdp<span class="nt">&lt;/src.confdir&gt;</span>
+</pre></div>
+
+
+<p>This configuration sets the <code>yarn.application.classpath</code> value to that required
+by HDP installations. To target other installations, alternate maven profiles
+will need to be defined.</p>
+<h2 id="testing">Testing</h2>
+<h3 id="configuring-slider-to-locate-the-relevant-artifacts">Configuring Slider to locate the relevant artifacts</h3>
+<p>You must have the file <code>src/test/resources/slider-test.xml</code> (this
+is ignored by git), declaring where HBase, accumulo, Hadoop and zookeeper are:</p>
+<div class="codehilite"><pre><span class="nt">&lt;configuration&gt;</span>
+
+  <span class="nt">&lt;property&gt;</span>
+    <span class="nt">&lt;name&gt;</span>slider.test.hbase.home<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;value&gt;</span>/home/slider/hbase/hbase-assembly/target/hbase-0.98.0-SNAPSHOT<span class="nt">&lt;/value&gt;</span>
+    <span class="nt">&lt;description&gt;</span>HBASE Home<span class="nt">&lt;/description&gt;</span>
+  <span class="nt">&lt;/property&gt;</span>
+
+  <span class="nt">&lt;property&gt;</span>
+    <span class="nt">&lt;name&gt;</span>slider.test.hbase.tar<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;value&gt;</span>/home/slider/hbase/hbase-assembly/target/hbase-0.98.0-SNAPSHOT-bin.tar.gz<span class="nt">&lt;/value&gt;</span>
+    <span class="nt">&lt;description&gt;</span>HBASE archive URI<span class="nt">&lt;/description&gt;</span>
+  <span class="nt">&lt;/property&gt;</span>
+
+  <span class="nt">&lt;property&gt;</span>
+    <span class="nt">&lt;name&gt;</span>slider.test.accumulo.home<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;value&gt;</span>/home/slider/accumulo/assemble/target/accumulo-1.6.1-SNAPSHOT/<span class="nt">&lt;/value&gt;</span>
+    <span class="nt">&lt;description&gt;</span>Accumulo Home<span class="nt">&lt;/description&gt;</span>
+  <span class="nt">&lt;/property&gt;</span>
+
+  <span class="nt">&lt;property&gt;</span>
+    <span class="nt">&lt;name&gt;</span>slider.test.accumulo.tar<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;value&gt;</span>/home/slider/accumulo/assemble/target/accumulo-1.6.1-SNAPSHOT-bin.tar.gz<span class="nt">&lt;/value&gt;</span>
+    <span class="nt">&lt;description&gt;</span>Accumulo archive URI<span class="nt">&lt;/description&gt;</span>
+  <span class="nt">&lt;/property&gt;</span>
+
+  <span class="nt">&lt;property&gt;</span>
+    <span class="nt">&lt;name&gt;</span>zk.home<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;value&gt;</span>
+      /home/slider/Apps/zookeeper<span class="nt">&lt;/value&gt;</span>
+    <span class="nt">&lt;description&gt;</span>Zookeeper home dir on target systems<span class="nt">&lt;/description&gt;</span>
+  <span class="nt">&lt;/property&gt;</span>
+
+  <span class="nt">&lt;property&gt;</span>
+    <span class="nt">&lt;name&gt;</span>hadoop.home<span class="nt">&lt;/name&gt;</span>
+    <span class="nt">&lt;value&gt;</span>
+      /home/slider/hadoop-common/hadoop-dist/target/hadoop-2.3.0<span class="nt">&lt;/value&gt;</span>
+    <span class="nt">&lt;description&gt;</span>Hadoop home dir on target systems<span class="nt">&lt;/description&gt;</span>
+  <span class="nt">&lt;/property&gt;</span>
+
+<span class="nt">&lt;/configuration&gt;</span>
+</pre></div>
+
+
+<h2 id="debugging-a-failing-test">Debugging a failing test</h2>
+<ol>
+<li>
+<p>Locate the directory <code>target/$TESTNAME</code> where TESTNAME is the name of the 
+test case and or test method. This directory contains the Mini YARN Cluster
+logs. For example, <code>TestLiveRegionService</code> stores its data under 
+<code>target/TestLiveRegionService</code></p>
+</li>
+<li>
+<p>Look under that directory for <code>-logdir</code> directories, then an application
+and container containing logs. There may be more than node being simulated;
+every node manager creates its own logdir.</p>
+</li>
+<li>
+<p>Look for the <code>out.txt</code> and <code>err.txt</code> files for stdout and stderr log output.</p>
+</li>
+<li>
+<p>Slider uses SLF4J to log to <code>out.txt</code>; remotely executed processes may use
+either stream for logging</p>
+</li>
+</ol>
+<p>Example:</p>
+<div class="codehilite"><pre><span class="n">target</span><span class="o">/</span><span class="n">TestLiveRegionService</span><span class="o">/</span><span class="n">TestLiveRegionService</span><span class="o">-</span><span class="n">logDir</span><span class="o">-</span><span class="n">nm</span><span class="o">-</span>1<span class="n">_0</span><span class="o">/</span><span class="n">application_1376095770244_0001</span><span class="o">/</span><span class="n">container_1376095770244_0001_01_000001</span><span class="o">/</span><span class="n">out</span><span class="p">.</span><span class="n">txt</span>
+</pre></div>
+
+
+<ol>
+<li>The actual test log from JUnit itself goes to the console and into 
+<code>target/surefire/</code>; this shows the events happening in the YARN services as well
+ as (if configured) HDFS and Zookeeper. It is noisy -everything after the <em>teardown</em>
+ message happens during cluster teardown, after the test itself has been completed.
+ Exceptions and messages here can generally be ignored.</li>
+</ol>
+<p>This is all a bit complicated -debugging is simpler if a single test is run at a
+time, which is straightforward</p>
+<div class="codehilite"><pre><span class="n">mvn</span> <span class="n">clean</span> <span class="n">test</span> <span class="o">-</span><span class="n">Dtest</span><span class="p">=</span><span class="n">TestLiveRegionService</span>
+</pre></div>
+
+
+<h3 id="building-the-jar-file">Building the JAR file</h3>
+<p>You can create the JAR file and set up its directories with</p>
+<div class="codehilite"><pre> <span class="n">mvn</span> <span class="n">package</span> <span class="o">-</span><span class="n">DskipTests</span>
+</pre></div>
+
+
+<h1 id="development-notes">Development Notes</h1>
+<h2 id="git-branch-model">Git branch model</h2>
+<p>The git branch model uses is
+<a href="http://nvie.com/posts/a-successful-git-branching-model/">Git Flow</a>.</p>
+<p>This is a common workflow model for Git, and built in to
+<a href="http://sourcetreeapp.com/">Atlassian Source Tree</a>.</p>
+<p>The command line <code>git-flow</code> tool is easy to install </p>
+<div class="codehilite"><pre><span class="n">brew</span> <span class="n">install</span> <span class="n">git</span><span class="o">-</span><span class="n">flow</span>
+</pre></div>
+
+
+<p>or</p>
+<div class="codehilite"><pre><span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">git</span><span class="o">-</span><span class="n">flow</span>
+</pre></div>
+
+
+<p>You should then work on all significant features in their own branch and
+merge them back in when they are ready.</p>
+<div class="codehilite"><pre><span class="c"># until we get a public JIRA we&#39;re just using an in-house one. sorry</span>
+<span class="n">git</span> <span class="n">flow</span> <span class="n">feature</span> <span class="n">start</span> <span class="n">SLIDER</span><span class="o">-</span>8192
+
+<span class="c"># finishes merges back in to develop/</span>
+<span class="n">git</span> <span class="n">flow</span> <span class="n">feature</span> <span class="n">finish</span> <span class="n">SLIDER</span><span class="o">-</span>8192
+
+<span class="c"># release branch</span>
+<span class="n">git</span> <span class="n">flow</span> <span class="n">release</span> <span class="n">start</span> 0<span class="p">.</span>4<span class="p">.</span>0
+
+<span class="n">git</span> <span class="n">flow</span> <span class="n">release</span> <span class="n">finish</span> 0<span class="p">.</span>4<span class="p">.</span>0
+</pre></div>
+
+
+<h2 id="attention-osx-developers">Attention OS/X developers</h2>
+<p>YARN on OS/X doesn't terminate subprocesses the way it does on Linux, so
+HBase Region Servers created by the hbase shell script remain running
+even after the tests terminate.</p>
+<p>This causes some tests -especially those related to flexing down- to fail, 
+and test reruns may be very confused. If ever a test fails because there
+are too many region servers running, this is the likely cause</p>
+<p>After every test run: do a <code>jps -v</code> to look for any leftover HBase services
+-and kill them.</p>
+<p>Here is a handy bash command to do this</p>
+<div class="codehilite"><pre><span class="n">jps</span> <span class="o">-</span><span class="n">l</span> <span class="o">|</span> <span class="n">grep</span> <span class="n">HRegion</span> <span class="o">|</span> <span class="n">awk</span> <span class="s">&#39;{print $1}&#39;</span> <span class="o">|</span> <span class="n">xargs</span> <span class="n">kill</span> <span class="o">-</span>9
+</pre></div>
+
+
+<h2 id="groovy">Groovy</h2>
+<p>Slider uses Groovy 2.x as its language for writing tests -for better assertions
+and easier handling of lists and closures. Although the first prototype
+used Groovy on the production source, this was dropped in favor of
+a Java-only production codebase.</p>
+<h2 id="maven-utils">Maven utils</h2>
+<p>Here are some handy aliases to make maven easier </p>
+<div class="codehilite"><pre><span class="n">alias</span> <span class="n">mci</span><span class="p">=</span><span class="s">&#39;mvn clean install -DskipTests&#39;</span>
+<span class="n">alias</span> <span class="n">mi</span><span class="p">=</span><span class="s">&#39;mvn install -DskipTests&#39;</span>
+<span class="n">alias</span> <span class="n">mvct</span><span class="p">=</span><span class="s">&#39;mvn clean test&#39;</span>
+<span class="n">alias</span> <span class="n">mvnsite</span><span class="p">=</span><span class="s">&#39;mvn site:site -Dmaven.javadoc.skip=true&#39;</span>
+<span class="n">alias</span> <span class="n">mvt</span><span class="p">=</span><span class="s">&#39;mvn test&#39;</span>
+</pre></div>
+  </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/developing/functional_tests.html
==============================================================================
--- websites/staging/slider/trunk/content/developing/functional_tests.html (original)
+++ websites/staging/slider/trunk/content/developing/functional_tests.html Tue Jul 22 18:17:12 2014
@@ -142,7 +142,7 @@
   <div style="text-align: center">
     <h1><a href="/index.html">Apache Slider (incubating)</a></h1>
     <hr>
-Latest release: <strong>0.30-incubating</strong><br>
+Latest release: <strong>0.40-incubating</strong><br>
     <br>
     <a id="download-button-sidebar" class="btn btn-success btn-block" href="/downloads/" role="button">Download</a>
   </div>

Added: websites/staging/slider/trunk/content/developing/index.html
==============================================================================
--- websites/staging/slider/trunk/content/developing/index.html (added)
+++ websites/staging/slider/trunk/content/developing/index.html Tue Jul 22 18:17:12 2014
@@ -0,0 +1,213 @@
+<!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 id="nav_use_examples"><a href="/docs/examples.html">Examples</a></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 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_package"><a href="/docs/slider_specs/index.html">Creating App Packages</a></li>
+<li id="nav_use_app_configuration"><a href="/docs/configuration/index.html">App Configuration Model</a></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>
+</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.40-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>
+
+    <!---
+   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.
+-->
+
+<h1 id="developing-apache-slider">Developing Apache Slider</h1>
+<p>Slider is an open source project -anyone is free to contributed, and we
+strongly encourage people to do so. </p>
+<p>Here are documents covering how to go about building, testing and releasing
+Slider</p>
+<ul>
+<li><a href="/developing/building.html">Building</a></li>
+<li><a href="/docs/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>
+<li><a href="/developing/releasing.html">Releasing</a></li>
+</ul>
+  </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>

Added: websites/staging/slider/trunk/content/developing/manual_testing.html
==============================================================================
--- websites/staging/slider/trunk/content/developing/manual_testing.html (added)
+++ websites/staging/slider/trunk/content/developing/manual_testing.html Tue Jul 22 18:17:12 2014
@@ -0,0 +1,236 @@
+<!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 id="nav_use_examples"><a href="/docs/examples.html">Examples</a></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 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_package"><a href="/docs/slider_specs/index.html">Creating App Packages</a></li>
+<li id="nav_use_app_configuration"><a href="/docs/configuration/index.html">App Configuration Model</a></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>
+</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.40-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>
+
+    <!---
+   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.
+-->
+
+<h1 id="manually-testing-apache-slider">Manually Testing Apache Slider</h1>
+<p>Manual testing invloves using Slider package and an AppPackage to perform basic
+ cluster functionalities such as create/destroy, flex up/down, and freeze/thaw.
+  A python helper script is provided that can be used to automatically test and app package.</p>
+<h2 id="slidertesterpy"><code>SliderTester.py</code></h2>
+<p>Details to be added.</p>
+<h2 id="slidertesterini"><code>SliderTester.ini</code></h2>
+<p>The various config parameters are:</p>
+<h3 id="slider">slider</h3>
+<ul>
+<li><code>package</code>: location of the slider package</li>
+<li><code>jdk.path</code>: jdk path on the test hosts</li>
+</ul>
+<h3 id="app">app</h3>
+<ul>
+<li><code>package</code>: location of the app package</li>
+</ul>
+<h3 id="cluster">cluster</h3>
+<ul>
+<li><code>yarn.application.classpath</code>: yarn application classpaths</li>
+<li><code>slider.zookeeper.quorum</code>: the ZK quorum hosts</li>
+<li><code>yarn.resourcemanager.address</code>:</li>
+<li><code>yarn.resourcemanager.scheduler.address</code>:</li>
+<li><code>fs.defaultFS</code>: e.g. <code>hdfs://NN_HOST:8020</code></li>
+</ul>
+<h3 id="test">test</h3>
+<ul>
+<li><code>app.user</code>: user to use for app creation</li>
+<li><code>hdfs.root.user</code>: hdfs root user</li>
+<li><code>hdfs.root.dir</code>: HDFS root, default /slidertst</li>
+<li><code>hdfs.user.dir</code>: HDFS user dir, default /user</li>
+<li><code>test.root</code>: local test root folder, default /test</li>
+<li><code>cluster.name</code>: name of the test cluster, default tst1</li>
+<li><code>cluster.type</code>: cluster type to build and test, e.g. hbase,storm,accumulo</li>
+</ul>
+<h3 id="agent">agent</h3>
+  </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>