DevStack-like environment for StackTach.v3
Go to file
Sandy Walsh 74fd693f51 Supports the new tarball style of WritingJSONRollManager.
Updates the ansible and local dev configs to archive
events to tarballs via shoebox.

Change-Id: I1952aea79f1021aae5094f6ca45e325eb9b43485
2015-02-24 11:29:25 -08:00
ansible Supports the new tarball style of WritingJSONRollManager. 2015-02-24 11:29:25 -08:00
bin Fix silly mistake with api results. 2015-01-28 12:14:43 -08:00
docs Start on STv3 docs 2015-02-19 10:24:47 -08:00
etc stv3_status.py 2015-01-22 07:14:16 -08:00
vagrant Update Vagrant script to avoid needing sudo for build.sh 2015-02-19 08:44:59 -06:00
winchester Fix instance_type distilling. 2015-02-18 09:25:43 -08:00
.gitignore Initial commit 2014-05-26 23:10:55 -03:00
.gitreview Preliminary time-sync and usage support 2014-10-16 13:08:42 -07:00
build.sh Updates yagi.conf to write json files of every event. 2015-02-17 15:00:45 -08:00
distiller.conf distiller support for metadata extraction 2014-05-29 20:15:04 +00:00
flush.sh lots of experiments 2014-08-19 13:40:06 +00:00
LICENSE Initial commit 2014-05-26 23:10:55 -03:00
logging.conf Start on STv3 docs 2015-02-19 10:24:47 -08:00
oahu_config.py cleaned up some terminology 2014-09-05 20:56:15 +00:00
quincy.conf Enable quincy API w/ winchester pipeline engine 2014-12-03 19:58:12 +00:00
README.md Update Vagrant script to avoid needing sudo for build.sh 2015-02-19 08:44:59 -06:00
reset.sh Preliminary time-sync and usage support 2014-10-16 13:08:42 -07:00
reset.sql Preliminary time-sync and usage support 2014-10-16 13:08:42 -07:00
screenrc.oahu Add winchester support 2014-09-08 07:01:08 +00:00
screenrc.winchester Enable quincy API w/ winchester pipeline engine 2014-12-03 19:58:12 +00:00
winchester.yaml Fix up defaults to use notabene handler and usage 2015-02-10 12:57:28 -08:00
yagi.conf.common Supports the new tarball style of WritingJSONRollManager. 2015-02-24 11:29:25 -08:00
yagi.conf.oahu Add winchester support 2014-09-08 07:01:08 +00:00
yagi.conf.winchester Updates yagi.conf to write json files of every event. 2015-02-17 15:00:45 -08:00

sandbox

Dev env for StackTach development. Uses Notigen event generator and yagi.

Note: read the Operators Guide etherpad for deployment notes.

Prerequisites:

make sure you have a working python dev environment (2.7+ ideally)
    including virtualenv.
Install rabbitmq.
If using the oahu pipeline engine, install mongodb.
If using the winchester pipeline engine, install MySQL.

TL;DR:

handle the prerequisites above.
git clone https://github.com/StackTach/sandbox.git
cd sandbox
If running winchester:
    create a mysql database to use
    set the database url appropriately in winchester.yaml
./build.sh

Using Vagrant for fast local provisioning:

* Install [Vagrant](https://www.vagrantup.com/downloads.html)
* Install [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
* git clone https://github.com/StackTach/sandbox.git
* cd sandbox/vagrant
* vagrant up
* vagrant ssh
* cd stacktach-sandbox
* ./build.sh

Note: 
This uses sandbox defaults including the use of the Winchester
pipeline.

Tweaks:

You can create a local.sh to override the defaults:

SOURCE_DIR=git  # where the StackTach repos are cloned
VENV_DIR=.venv  # name of the .venv
PIPELINE_ENGINE=oahu # Name of pipeline processing library to run.

The build.sh script will create clone each of the StackTach projects into the $SOURCE_DIR directory (so you can work on them in a running env).

The virtualenv will be created and each of the projects (and their dependencies) installed into it.

A screen session is started, based on screenrc.oahu or screenrc.winchester which will start the notigen event generator. The event generator simulated OpenStack notifications and pumps them into rabbitmq. yagi-event is also started with the yagi.conf configuration file. This will read events from the rabbit queue and save them to local files. The working directory and archive directory for shoebox is specified in yagi.conf.

The sandbox environment configures shoebox to upload archive files to Swift automatically. This requires you create a credentials file in the .../sandbox/ directory (like in .../git/sandbox/etc/sample_rax_credentials.conf) Call it swift_credentials.conf or alter the shoebox.conf file accordingly. If you don't have access to a Swift server, like CloudFiles, read the config file for details on disabling this feature.