Author: buildbot
Date: Thu Oct 31 14:52:37 2013
New Revision: 884955
Log:
Staging update by buildbot for ace
Modified:
websites/staging/ace/trunk/content/ (props changed)
websites/staging/ace/trunk/content/dev-doc/configuring-relay-servers.html
Propchange: websites/staging/ace/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Oct 31 14:52:37 2013
@@ -1 +1 @@
-1537513
+1537514
Modified:
websites/staging/ace/trunk/content/dev-doc/configuring-relay-servers.html
==============================================================================
--- websites/staging/ace/trunk/content/dev-doc/configuring-relay-servers.html
(original)
+++ websites/staging/ace/trunk/content/dev-doc/configuring-relay-servers.html
Thu Oct 31 14:52:37 2013
@@ -181,18 +181,18 @@
<p>Like in a single-server scenario, the relay must allow a target to upload
its log before it can be synchronised with the main ACE server.</p>
<p>To configure the storage of logs from targets on the relay server, we need
to instantiate a log store by supplying the following configuration to the
<tt>org.apache.ace.log.server.store.factory</tt> managed service factory:</p>
<div class="codehilite"><pre><span class="c"># a symbolic name used to
reference to this store from other services</span>
-<span class="n">name</span><span class="p">=</span><span
class="n">auditlog</span>
+<span class="na">name</span><span class="o">=</span><span
class="s">auditlog</span>
</pre></div>
<p>This will instantiate a new log store service named <tt>auditlog</tt><sup
id="fnref:1"><a class="footnote-ref" href="#fn:1" rel="footnote">1</a></sup>
that can be used to store the log information of targets.</p>
<p>To allow targets to upload their logs to the relay server, a log-servlet
needs to be instantiated. This is done by supplying the following configuration
to the <tt>org.apache.ace.log.server.servlet.factory</tt> managed service
factory:</p>
<div class="codehilite"><pre><span class="c"># the symbolic name of the actual
log store to store the uploaded logs in</span>
-<span class="n">name</span><span class="p">=</span><span
class="n">auditlog</span>
+<span class="na">name</span><span class="o">=</span><span
class="s">auditlog</span>
<span class="c"># the alias/endpoint at which the servlet is registered</span>
-<span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span class="n">ace</span><span
class="p">.</span><span class="n">server</span><span class="p">.</span><span
class="n">servlet</span><span class="p">.</span><span
class="n">endpoint</span><span class="p">=</span><span class="o">/</span><span
class="n">auditlog</span>
+<span class="na">org.apache.ace.server.servlet.endpoint</span><span
class="o">=</span><span class="s">/auditlog</span>
<span class="c"># whether or not to use authentication</span>
-<span class="n">authentication</span><span class="p">.</span><span
class="n">enabled</span><span class="p">=</span><span class="nb">false</span>
+<span class="na">authentication.enabled</span><span class="o">=</span><span
class="s">false</span>
</pre></div>
@@ -200,9 +200,9 @@
<h2 id="log-synchronisation-between-relay-and-main-server">Log synchronisation
between relay and main server</h2>
<p>With the log store and servlet configured and in place, a target is now
able to synchronise its logs with the relay server. However, once uploaded to
the relay server, the logs will not propagate automatically to the main ACE
server. A separate log-synchronisation task is responsible for this. To enable
this task, we need to supply the following configuration to the
<tt>org.apache.ace.log.server.task.factory</tt> managed service factory:</p>
<div class="codehilite"><pre><span class="c"># the symbolic name of the actual
log store to synchronise</span>
-<span class="n">name</span><span class="p">=</span><span
class="n">auditlog</span>
+<span class="na">name</span><span class="o">=</span><span
class="s">auditlog</span>
<span class="c"># how to synchronise logs, can be 'pull',
'push' or 'pushpull'</span>
-<span class="nb">mode</span><span class="p">=</span><span class="n">push</span>
+<span class="na">mode</span><span class="o">=</span><span class="s">push</span>
</pre></div>
@@ -214,7 +214,7 @@
</ul>
<p>In addition, the log synchronisation task (and other tasks as well, see
below) needs to know what upstream server it should synchronise with. For this
information, it uses the ACE discovery service, which is configured by
supplying, for example, the following configuration to the
<tt>org.apache.discovery.property</tt><sup id="fnref:3"><a class="footnote-ref"
href="#fn:3" rel="footnote">3</a></sup> managed service:</p>
<div class="codehilite"><pre><span class="c"># what is the URL to the *main*
ACE server</span>
-<span class="n">serverURL</span> <span class="p">=</span> <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">my</span><span class="p">.</span><span class="n">main</span><span
class="p">.</span><span class="n">server</span><span class="p">:</span>8080
+<span class="na">serverURL</span> <span class="o">=</span> <span
class="s">http://my.main.server:8080</span>
</pre></div>
@@ -222,30 +222,30 @@
<p>The relay needs to have at least a deployment repository<sup
id="fnref:4"><a class="footnote-ref" href="#fn:4" rel="footnote">4</a></sup>.
This repository is a verbatim copy of the deployment repository on the master
server and as such needs to be replicated periodically. The configuration of
the deployment provider consists of three parts: a repository store, the
repository servlet, and a repository provider.</p>
<p>To create a "slave" deployment repository<sup id="fnref:5"><a
class="footnote-ref" href="#fn:5" rel="footnote">5</a></sup> store, the
following configuration needs to be supplied to the
<tt>org.apache.ace.server.repository.factory</tt> managed service factory:</p>
<div class="codehilite"><pre><span class="c"># the symbolic name of the
repository, should be "deployment"</span>
-<span class="n">name</span><span class="p">=</span><span
class="n">deployment</span>
+<span class="na">name</span><span class="o">=</span><span
class="s">deployment</span>
<span class="c"># the customer name, should be equal to the customer name used
on the master server</span>
-<span class="n">customer</span><span class="p">=</span><span
class="n">apache</span>
+<span class="na">customer</span><span class="o">=</span><span
class="s">apache</span>
<span class="c"># indicates that this is a slave/read-only repository</span>
-<span class="n">master</span><span class="p">=</span><span
class="nb">false</span>
+<span class="na">master</span><span class="o">=</span><span
class="s">false</span>
</pre></div>
<p>To make the repository store accessible through a servlet, we need to
supply the following configuration to the
<tt>org.apache.ace.repository.servlet.RepositoryServlet</tt> managed
service:</p>
<div class="codehilite"><pre><span class="c"># the endpoint on which the
deployment repository store is accessible</span>
-<span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span class="n">ace</span><span
class="p">.</span><span class="n">server</span><span class="p">.</span><span
class="n">servlet</span><span class="p">.</span><span
class="n">endpoint</span><span class="p">=</span><span class="o">/</span><span
class="n">repository</span>
+<span class="na">org.apache.ace.server.servlet.endpoint</span><span
class="o">=</span><span class="s">/repository</span>
<span class="c"># whether or not to enable authentication for this
endpoint</span>
-<span class="n">authentication</span><span class="p">.</span><span
class="n">enabled</span> <span class="p">=</span> <span class="nb">false</span>
+<span class="na">authentication.enabled</span> <span class="o">=</span> <span
class="s">false</span>
</pre></div>
<p>This will instantiate a servlet that listens on the <tt>/repository</tt>
endpoint (for example, <tt>http://my.relay.server:8080/repository</tt>).</p>
<p>With the repository store and servlet configured, we can configure the
deployment repository provider, which is used to collect information about
deployment artefacts that should be deployed on a target. The deployment
repository provider is configured by supplying the following configuration to
the <tt>org.apache.ace.deployment.provider.repositorybased</tt> managed
service:</p>
<div class="codehilite"><pre><span class="c"># the URL on which the deployment
repository store can be accessed</span>
-<span class="n">url</span> <span class="p">=</span> <span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">my</span><span class="p">.</span><span class="n">relay</span><span
class="p">.</span><span class="n">server</span><span
class="p">:</span>8080<span class="o">/</span><span class="n">repository</span>
+<span class="na">url</span> <span class="o">=</span> <span
class="s">http://my.relay.server:8080/repository</span>
<span class="c"># the symbolic name of the repository, should be
"deployment"</span>
-<span class="n">name</span> <span class="p">=</span> <span
class="n">deployment</span>
+<span class="na">name</span> <span class="o">=</span> <span
class="s">deployment</span>
<span class="c"># the customer name, should be equal to the customer name used
on the master server</span>
-<span class="n">customer</span> <span class="p">=</span> <span
class="n">apache</span>
+<span class="na">customer</span> <span class="o">=</span> <span
class="s">apache</span>
</pre></div>
@@ -253,28 +253,28 @@
<p>The target is only interested in downloading deployment packages containing
the updates for its software and/or its management agent. To support this, two
servlets need to be instantiated, one for accessing the deployment packages of
the target software, and one for accessing the deployment packages for the
management agent.</p>
<p>To configure the servlet responsible for providing deployment packages of
the target software, we need to supply the following configuration to the
<tt>org.apache.ace.deployment.servlet</tt> managed service:</p>
<div class="codehilite"><pre><span class="c"># the endpoint on which the
deployment servlet for software-updates is accessible</span>
-<span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span class="n">ace</span><span
class="p">.</span><span class="n">server</span><span class="p">.</span><span
class="n">servlet</span><span class="p">.</span><span
class="n">endpoint</span><span class="p">=</span><span class="o">/</span><span
class="n">deployment</span>
+<span class="na">org.apache.ace.server.servlet.endpoint</span><span
class="o">=</span><span class="s">/deployment</span>
<span class="c"># whether or not to enable authentication for this
endpoint</span>
-<span class="n">authentication</span><span class="p">.</span><span
class="n">enabled</span> <span class="p">=</span> <span class="nb">false</span>
+<span class="na">authentication.enabled</span> <span class="o">=</span> <span
class="s">false</span>
</pre></div>
<p>To configure the servlet responsible for providing agent updates, we need
to supply the following configuration to the
<tt>org.apache.ace.deployment.servlet.agent</tt> managed service:</p>
<div class="codehilite"><pre><span class="c"># the endpoint on which the
deployment servlet for agent-updates is accessible</span>
-<span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span class="n">ace</span><span
class="p">.</span><span class="n">server</span><span class="p">.</span><span
class="n">servlet</span><span class="p">.</span><span
class="n">endpoint</span><span class="p">=</span><span class="o">/</span><span
class="n">agent</span>
+<span class="na">org.apache.ace.server.servlet.endpoint</span><span
class="o">=</span><span class="s">/agent</span>
<span class="c"># whether or not to enable authentication for this
endpoint</span>
-<span class="n">authentication</span><span class="p">.</span><span
class="n">enabled</span> <span class="p">=</span> <span class="nb">false</span>
+<span class="na">authentication.enabled</span> <span class="o">=</span> <span
class="s">false</span>
<span class="c"># the OBR used for retrieving the agent software</span>
-<span class="n">obr</span><span class="p">.</span><span class="n">url</span>
<span class="p">=</span> <span class="n">http</span><span
class="p">:</span><span class="o">//</span><span class="n">my</span><span
class="p">.</span><span class="n">obr</span><span class="p">.</span><span
class="n">server</span><span class="p">:</span>8080<span
class="o">/</span><span class="n">obr</span><span class="o">/</span>
+<span class="na">obr.url</span> <span class="o">=</span> <span
class="s">http://my.obr.server:8080/obr/</span>
</pre></div>
<h2 id="task-scheduler">Task scheduler</h2>
<p>With the synchronisation and repository replication tasks in place, we need
to tell the ACE scheduler to periodically execute these tasks. This is done by
supplying the following configuration to the
<tt>org.apache.ace.scheduler.cfg</tt> managed service:</p>
<div class="codehilite"><pre><span class="c"># execute all LogSyncTasks once
every 2 seconds...</span>
-<span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span class="n">ace</span><span
class="p">.</span><span class="nb">log</span><span class="p">.</span><span
class="n">server</span><span class="p">.</span><span class="n">task</span><span
class="p">.</span><span class="n">LogSyncTask</span><span class="p">=</span>2000
+<span class="na">org.apache.ace.log.server.task.LogSyncTask</span><span
class="o">=</span><span class="s">2000</span>
<span class="c"># Synchronise with the master repository every 5 seconds...
</span>
-<span class="n">org</span><span class="p">.</span><span
class="n">apache</span><span class="p">.</span><span class="n">ace</span><span
class="p">.</span><span class="n">repository</span><span
class="p">.</span><span class="n">task</span><span class="p">.</span><span
class="n">RepositoryReplicationTask</span><span class="p">=</span>5000
+<span
class="na">org.apache.ace.repository.task.RepositoryReplicationTask</span><span
class="o">=</span><span class="s">5000</span>
</pre></div>
@@ -282,7 +282,7 @@
<p>A complete runnable example can be found in the <tt>run-relay</tt> project
of the ACE source repository. This example project starts a relay server on
<tt>localhost:8282</tt> and expects its upstream server to run at
<tt>localhost:8080</tt> A list of all required bundles to run a relay server
can be found in the <tt>relay.bndrun</tt> file.</p>
<h2 id="target-configuration">Target configuration</h2>
<p>To only thing that a target needs to know about the relay server is its
(base) URL. This can be supplied when starting the management agent on the
target by adding the following argument to its command line:</p>
-<div class="codehilite"><pre><span class="o">-</span><span
class="n">Dagent</span><span class="p">.</span><span
class="n">discovery</span><span class="p">.</span><span
class="n">serverurls</span><span class="p">=</span><span
class="n">http</span><span class="p">:</span><span class="o">//</span><span
class="n">my</span><span class="p">.</span><span class="n">relay</span><span
class="p">.</span><span class="n">server</span><span
class="p">:</span>8080<span class="o">/</span>
+<div class="codehilite"><pre>-Dagent.discovery.serverurls<span
class="o">=</span>http://my.relay.server:8080/
</pre></div>