https://github.com/redhat-openstack/octario
Ansible roles for Openstack Component Testing
https://github.com/redhat-openstack/octario
Last synced: 11 months ago
JSON representation
Ansible roles for Openstack Component Testing
- Host: GitHub
- URL: https://github.com/redhat-openstack/octario
- Owner: redhat-openstack
- License: apache-2.0
- Created: 2016-03-31T10:57:49.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-20T13:53:16.000Z (over 1 year ago)
- Last Synced: 2024-08-20T15:57:20.364Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 5.29 MB
- Stars: 8
- Watchers: 12
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Octario
**Openstack Component Testing Ansible Roles**
Octario is a collection of Ansible roles and playbooks for testing OpenStack Components on RHEL/CentOS.
It supports the following testers or test frameworks:
* PEP8
* unit
* functional
* fullstack
There are two ways to use Octario. By cloning and installing Octario or by using the InfraRed framework.
We'll cover both.
Note: `octario` is not provisioning the node on which it will run the tests. It's assumed
that the tester node is provided by the user by specifying it in the hosts file.
## Installation - without InfraRed
git clone https://github.com/redhat-openstack/octario && cd octario
virtualenv ~/octario_venv && source ~/octario_venv/bin/activate
pip install .
## Installation - with InfraRed
git clone https://github.com/redhat-openstack/infrared && cd infrared
virtualenv ~/ir_venv && source ~/ir_venv/bin/activate
pip install .
infrared plugin add octario
## Usage - without InfraRed
First, create an inventory file that will include the IP address or the hostname of your tester node.
```
vi hosts
[tester]
my_tester_host ansible_user=cloud-user
```
Edit `octario.yml` with your component details. Make sure to specify name and version!
```
component:
name: nova
version: 9
```
Run octario! :)
Choose one of testers and run the following command in octario root directory
```
ansible-playbook -vvv -i hosts playbooks/pep8.yml --extra-vars @octario.yml
```
pep8.yml can be replaced with [unittest, functional, fullstack].yml
## Usage - with InfraRed
```
infrared octario --t --dir
For example:
infrared octario --t pep8 --dir $WORKSPACE/neutron
```
### Custom tester
You can specify your own tester
```
export TESTER=my_new_cool_tester
ansible-playbook -vvv -i hosts playbooks/custom-tester.yml --extra-vars @octario.yml
```
### External ROLES
You can use external role with `octario`.
```
cp -r new_role octario/roles
export ROLE=new_role
ansible-playbook -vvv -i hosts playbooks/custom-role.yml --extra-vars @octario.yml
```
## How it works
The following drawing added to simplify work-flow overview of `octario` for simple testers
as pep8, unittest and functional.

### Patch RPMs
Patching of RPMs is deprecated in Octario.
Please use Octario as InfraRed plugin to achieve patching.
Using InfraRed and its' patch-components plugin instead, example:
$ infrared plugin add patch-components
$ infrared plugin add octario
$ infrared patch-components --component-name neutron --component-path /patch/to/neutron/source/code --component-version 14
$ infrared octario --t dsvm-functional --dir /patch/to/neutron/source/code
## More Docs
See the [/docs](https://github.com/redhat-openstack/octario/tree/master/docs) directory of this repo.