Skip to content

CharlesKimpolo/monster

 
 

Repository files navigation

Monster

https://travis-ci.org/rcbops-qa/monster.png?branch=master

An OpenStack Orchestration Engine

Requirements

  • Must have a chef server installed
    source <(curl -s https://raw.github.com/rcbops/support-tools/master/chef-install/install-chef-server.sh)
        
  • Install packages
    apt-get install -y git python-pip virtualenvwrapper python-dev libevent-dev
        
  • Chef server must have rcbops-qa cookbook installed
    git clone https://github.com/rcbops-qa/rcbops-qa.git /opt/cookbooks/rcbops-qa
    git clone https://github.com/opscode-cookbooks/yum.git /opt/cookbooks/yum
    knife cookbook upload -a -o /opt/cookbooks/
        

Installation

  • Clone the repo and install
    git clone https://github.com/rcbops-qa/monster.git ~/monster
    virtualenv -p `which python2` ~/monster/.venv
    source ~/monster/.venv/bin/activate
    pip install -r ~/monster/requirements.txt
        

    note: If you’re on a small server I’ve experienced failed installs of gevent because there isn’t enough memory. Adding swap fixed things.

  • put your credentials in secret.yaml at the top level of monster
    rackspace:
      user: YOUR_USERNAME
      api_key: YOUR_API_KEY
      auth_url: https://identity.api.rackspacecloud.com/v2.0/
      region: dfw
      plugin: rackspace
        

    if you use cloudfiles your user and password can also be placed in the secret.yaml

    cloudfiles:
      user: YOUR_USER
      password: YOUR_PASSWORD
        

    If you use razor to provision servers add it’s api endpoint support clean up

    razor:
      ip: 198.101.133.3
        

CLI

compute.py and storage.py are the CLIs

Build

Deploys an OpenStack cluster

compute.py build -n precise-default --branch master --template precise-default --config config.yaml --secret-path secret.yaml --destroy --log log.txt --log-level DEBUG --provisioner rackspace --test

Arguments

  • name: name of the deployment
  • branch: branch rcbops cookbooks
  • template: name of template to use
  • config: path to config file
  • secret-path: path to secret config file
  • destroy: destroy after build or failure
  • dry: only build environment (will provision in cloud)
  • log: path to log file
  • log-level: level to log - INFO, DEBUG
  • provisioner: provisioner to use - razor, rackspace, openstack
  • test: run tests after build

Show

Shows details about an OpenStack deployment

compute.py show -n precise-default

Arguments

  • name: name of the deployment
  • config: path to config file
  • secret-path: path to secret config file
  • log: path to log file
  • log-level: level to log - INFO, DEBUG

Destroy

Destroys an OpenStack deployment

compute.py destroy -n precise-default --config config.yaml --log log.txt --log-level DEBUG

Arguments

  • name: name of the deployment
  • config: path to config file
  • secret-path: path to secret config file
  • log: path to log file
  • log-level: level to log - INFO, DEBUG

openrc

Load openrc environment variables into shell. After loaded openstack cli commands will communicate to cluster.

compute.py openrc -n precise-default
nova boot --image cirros-image --flavor 1

Arguments

  • name: name of the deployment
  • config: path to config file
  • secret-path: path to secret config file
  • log: path to log file
  • log-level: level to log - INFO, DEBUG

Horizon

Attempts to open Horizon in browser

compute.py horizon -n precise-default

Arguments

  • name: name of the deployment
  • config: path to config file
  • secret-path: path to secret config file
  • log: path to log file
  • log-level: level to log - INFO, DEBUG

Test

Runs tests on a running OpenStack cluster

compute.py test -n precise-default --config config.yaml --log log.txt --log-level DEBUG

Arguments

  • name: name of the deployment
  • config: path to config file
  • secret-path: path to secret config file
  • log: path to log file
  • log-level: level to log - INFO, DEBUG

Upgrade

Upgrades the deployment to the specified branch

compute.py upgrade -n precise-default -u v4.2.1 --log-level DEBUG

Arguments

  • name: name of the deployment
  • upgrade-branch: branch to upgrade to
  • config: path to config file
  • secret-path: path to secret config file
  • log: path to log file
  • log-level: level to log - INFO, DEBUG

Tmux

Opens an new tmux session with each node in a different window

Requires tmux version >= 1.8

compute.py tmux -n precise-default

Arguments

  • name: name of the deployment
  • config: path to config file
  • secret-path: path to secret config file
  • log: path to log file
  • log-level: level to log - INFO, DEBUG

About

Deployment/Orchestration Engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.5%
  • Shell 7.5%