
This is a requirement of HACKING guide to have license headers in all Python code files in the project. Change-Id: I391d2a25dcbd366073393942b57ea808781bf56a
Rubick
Rubick is a tool to analyze OpenStack installation for possible problems. It consists of two processes:
- Discovery - find all OpenStack components and collect information about them.
- Analyze - perform various checks of discovered data to ensure consistency and conformance to best practices.
Installation
Completely environment in VirtualBox via Vagrant
- Install vagrant(MacOS, Windows, Ubuntu) - http://downloads.vagrantup.com/tags/v1.3.3 and latest version of Virtualbox
$ vagrant up && vagrant provision
- After that you can access application on http://host_machine_ip:8008/
- 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.
- After that you’ll 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:
- “Cluster name” - with name of your cluster (e.g. local_devstack )
- “Description” - with description (e.g. VBox installation of devstack)
- “Ip Address“ - with username@host:port (e.g. vagrant@192.168.27.100)
- “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)
- 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.