Giter Site home page Giter Site logo

monster's Introduction

Monster

An OpenStack Orchestration Engine

Installation

  1. Use the monster installer. Then, run pip install -e . from the project root.

    or

  2. Clone the repo and setup manually.

git clone https://github.com/rcbops-qa/monster.git ~/monster
virtualenv -p `which python2` ~/monster/.venv
source ~/monster/.venv/bin/activate
~/monster/install_redis.sh
pip install -r ~/monster/requirements.txt -e ~/monster

Note: On a small servers, we have experienced gevent installation failures due to insufficient memory. Adding swap may resolve these issues.

  • Credentials should be saved in monster/data/secret.yaml. An example secret.yaml file can be found at monster/data/examples/secret.example.

CLI

build

Deploy an OS cluster.

monster build rpcs my_build -t ubuntu-ha-neutron -c pubcloud-neutron.yaml -b v4.1.5 -p rackspace

show

Show details about an OS deployment.

monster show my_build

destroy

Destroy an OS deployment.

monster destroy my_build

openrc

Load openrc environment variables into shell. Once loaded, openstack CLI commands will communicate to cluster.

monster openrc my_build
nova boot --image cirros-image --flavor 1

horizon

Open Horizon in browser.

monster horizon my_build

test

Run tests on an OS cluster.

monster test cloudcafe my_build
monster test ha my_build
monster test tempest my_build

upgrade

Upgrade the deployment to the specified branch.

monster upgrade my_build -u v4.2.1

tmux

Open a tmux session with each node in a different window.

monster tmux my_build

Requires tmux version >= 1.8

To add a 12.4 precise tmux 1.8 backport PPA, execute the following:

add-apt-repository -y ppa:kalakris/tmux
apt-get update
apt-get install tmux -y

Development

iPython

To make development of monster easier you can load deployment objects in iPython.

  1. Start ipython in top monster directory
  2. Run:
from monster.utils.ipython import load
deployment = load("my_build")

CLI

For development convenience, the CLI is also accessible from the project root by using monster/executable.py. For example, we can profile a build by using the command

python -m cProfile -s time -o build_profile.txt monster/executable.py build rpcs my_build -t ubuntu-ha-neutron

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.