More docs on sandbox setup

Explains how a sandbox dev deploy looks and what goes where.

Change-Id: I32d1ddf5b893b6650ddd5ff926978ef23eb94ed4
This commit is contained in:
Sandy Walsh 2015-03-05 11:59:25 -08:00
parent becac34178
commit c30f3db329
3 changed files with 41 additions and 0 deletions

View File

@ -56,6 +56,47 @@
<div class="row marketing">
<div class="col-lg-12">
<h3>A Minimal StackTach.v3 deployment</h3>
<p>The bare minimum StackTach.v3 deployment has the following components:</p>
<ul>
<li>a queuing system, like RabbitMQ, that contains the notifications.</li>
<li>a MySQL database</li>
<li>something to generate source notifications</li>
<li>a yagi-event process to read the notifications and get them into winchester</li>
<li>a winchester pipeline-worker process to do processing on ready streams</li>
</ul>
<p>If you have a machine with MySQL and RabbitMQ on it, the <a href='https://github.com/stackforge/stacktach-sandbox' target='_blank'>stacktach-sandbox</a> repo does the rest. The sandbox will set up a python virtual environment, install all the required components and run everything under a <a href="http://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/" target="_blank">screen</a> session.</p>
<img src='sandbox-1.gif' class="img-rounded"/>
<p>The sandbox sets up seven screen pages that contain:</p>
<ol type="a">
<li>The REST API server, via the gunicorn web server, quincy WSGI application and quince API implementation. Quince uses winchester to talk to the database.</li>
<li>A bash shell for running the klugman command line tool.</li>
<li>Two yagi-event workers. One per screen page.</li>
<li>Two pipeline-worker workers. One per screen page.</li>
<li>The notigen notification simulator.</li>
</ol>
<p>You can see the flow of data in the diagram above:</p>
<ol>
<li>OpenStack Nova notifications are simulated by notagen and pumped into RabbitMQ via the notabene library. With the sandbox, there is no need to stand up a full OpenStack deployment.</li>
<li>The yagi-event workers consume notifications from RabbitMQ, archives them via shoebox, distills them into events and stuffs them into streams via winchester</li>
<li>The pipeline-worker workers look for ready streams and does pipeline processing on them.</li>
<li>The user can use the klugman cmdline tool to talk to the REST API to perform stream and event operations/queries</li>
</ol>
<p>In order to do all this, there are a number of configation files required. Refer to the general documentation here or the particular libaries README file for configuration details. The main configuration files include:</p>
<ul>
<li><b>yagi.conf</b> - the configuration file that tells yagi how to connect to the quque and what to do with the notifications consumed.</li>
<li><b>winchester.yaml</b> - the master configuration file for winchester. It specifies the pipeline configuration to use, the stream definitions and the triggering rules.</p>
<li><b>triggers.yaml</b> - the detailed stream definitions and pipeline triggering rules</b></li>
<li><b>pipelines.yaml</b> - the pipeline handler definitions</p>
</ul>
<p>Where each of these files is used is illustrated in the diagram below:</p>
<img src='sandbox-2.gif' class="img-rounded"/>
<p>This will get you going for a minimal StackTach.v3 installation. Especially handy for dev environments. Read up on the "build" command, below, for instructions on For larger deployments, you may want to look at how we deploy StackTach.v3 within Rackspace Public Cloud, below:</p>
<h3>How StackTach.v3 is deployed at Rackspace</h3>
<p>For Rackspace Public Cloud, OpenStack is deployed in many different regions and each region is comprised of many cells.</p>

BIN
docs/sandbox-1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
docs/sandbox-2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB