RETIRED, Rule-based diagnostics of configuration of OpenStack platform
Go to file
Peter Lomakin 1dc5e57597 Fixes for installation algorithm in the README.md
Change installation deployment sequence: move installing deps to first
step.
Fix typos in the readme and frontend's html.

Change-Id: Ic37f2aa9e5a291eaff127762d7095799bdad1ad4
Closes-Bug: #1259447
Closes-Bug: #1259451
2013-12-11 14:48:34 +04:00
doc/source [doc] Update packages and classes diagrams 2013-11-08 06:00:37 +00:00
joker Discovery API improvements, PEP8 issues clean up 2013-11-20 18:22:31 +04:00
rubick Better config schema collector 2013-11-21 18:00:27 +04:00
static Fixes for installation algorithm in the README.md 2013-12-11 14:48:34 +04:00
vagrant/cookbooks/rubick/recipes Simplified Procfiles 2013-10-24 18:43:30 +04:00
.gitignore [pep8] Joker pep8 fixes 2013-10-23 14:26:31 +04:00
.gitreview Add .gitreview file for new repository 2013-11-15 07:02:07 +00:00
.testr.conf Make Joker as a subpackage 2013-10-23 14:50:12 +04:00
Procfile Removed obsolete PYTHONPATH overrides from Procfile 2013-10-28 18:45:02 +04:00
README.md Fixes for installation algorithm in the README.md 2013-12-11 14:48:34 +04:00
Vagrantfile Update readme description 2013-12-02 17:46:13 +04:00
discover_test.py Discovery API improvements, PEP8 issues clean up 2013-11-20 18:22:31 +04:00
joker_test.py Multiple fixes for PEP8 and unittests 2013-11-15 17:54:05 +00:00
openstack-configuration.txt Implemented metadata for services and filesystem, new filesystem snapshot format 2013-09-22 17:34:05 +04:00
requirements.txt Discovery API improvements, PEP8 issues clean up 2013-11-20 18:22:31 +04:00
setup.cfg Make Joker as a subpackage 2013-10-23 14:50:12 +04:00
setup.py Introduce tox to run PEP8 2013-10-17 13:46:19 +04:00
test-requirements.txt Run unit test for py27 2013-10-17 23:49:05 +04:00
tox.ini Discovery API improvements, PEP8 issues clean up 2013-11-20 18:22:31 +04:00
webui.py Update readme description 2013-12-02 17:46:13 +04:00

README.md

Rubick

Rubick is a tool to analyze OpenStack installation for possible problems. It consists of two processes:

  1. Discovery - find all OpenStack components and collect information about them.
  2. Analyze - perform various checks of discovered data to ensure consistency and conformance to best practices.

Installation

Completely environment in VirtualBox via Vagrant

  1. Install vagrant(MacOS, Windows, Ubuntu) - http://downloads.vagrantup.com/tags/v1.3.3 and latest version of Virtualbox
  2. $ vagrant up && vagrant provision
  3. After that you can access application on http://host_machine_ip:8008/
  4. For testing purposes of your application you can install latest-devstack installation via vagrant. We strongly recommend you to use this repo: https://github.com/lorin/devstack-vm. There are a lot of choices for devstack installation for Rubick to validate: with or without neutron\swift\security_groups\tempest etc.
  5. After that youll get full worked environment with Rubick and OpenStack.

Manual installation and running

For Ubuntu:

$ sudo apt-get install git build-essential mongodb-server redis-server python-pip
$ git clone https://github.com/stackforge/rubick && cd rubick
$ sudo pip install -r requirements.txt
$ honcho start

For CentOS:

Follow the official documentation to enable EPEL repo in your system: http://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository After that install dependencies and run an application.

$ sudo yum install git build-essential mongodb-server redis-server python-pip
$ git clone https://github.com/stackforge/rubick && cd rubick
$ sudo pip install -r requirements.txt
$ honcho start

Note: If you use fuel-pm node as a rubicks destination node, you'll need to return CentOS base repositories in the yum settings.

Note2: All steps for manual deployment and running the app you can find here: /vagrant/cookbooks/openstack-validator/recipes/default.rb

Rubick usage

Open http://host_machine_ip:8008/ with web-browser, host_machine_ip - address your application is installed. Add new cluster by pushing the button “Add cluster” and fill the fields:

  1. “Cluster name” - with name of your cluster (e.g. local_devstack )
  2. “Description” - with description (e.g. VBox installation of devstack)
  3. “Ip Address“ - with username@host:port (e.g. vagrant@192.168.27.100)
  4. “SSH key“ - with ssh-key to access the virual machine (e.g. can be find in the directory ~/.vagrant.d/insecure_private_key for Vagrant nodes)
  5. Press “Create”

After that you can select your cluster to run validations or select the rulest before validation.

Rubick Command Line usage examples

$ python rubick/cli.py -h
$ python rubick/cli.py -l -v http://<host>:8008
$ python rubick/cli.py -a -n 'New_cluster_name' -d 'New description' -H 'root@10.10.3.1:2022' -k ~/.ssh/id_rsa http://<host>:8008

Note: Your public key must be without passphrase.

Hacking

To check project on compliance to PEP8 run command use: tox -v.