stacktach-sandbox/README.md

2.3 KiB

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 and mysql-server.

TL;DR:

handle the prerequisites above.
git clone https://github.com/openstack/stacktach-sandbox
cd sandbox
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

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

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 archive notifications to local .json files and tarball them up after the directory reaches 20GB.

To have shoebox upload to Swift, you are required to 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.