An OpenStack Orchestration Engine
- Must have a chef server installed
source <(curl -s https://raw.github.com/rcbops/support-tools/master/chef-install/install-chef-server.sh)
- Must have knife.rb configured for chef server (the above command will take care of this)
- Once the script is done running you will have to logout and back in to use knife
- 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/
- 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 monsterrackspace: 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
compute.py
and storage.py
are the CLIs
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
- 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
Shows details about an OpenStack deployment
compute.py show -n precise-default
- 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
Destroys an OpenStack deployment
compute.py destroy -n precise-default --config config.yaml --log log.txt --log-level DEBUG
- 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
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
- 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
Attempts to open Horizon in browser
compute.py horizon -n precise-default
- 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
Runs tests on a running OpenStack cluster
compute.py test -n precise-default --config config.yaml --log log.txt --log-level DEBUG
- 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
Upgrades the deployment to the specified branch
compute.py upgrade -n precise-default -u v4.2.1 --log-level DEBUG
- 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
Opens an new tmux session with each node in a different window
Requires tmux version >= 1.8
compute.py tmux -n precise-default
- 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