openstackinfo

Gets information about what is in an OpenStack tenant


Keywords
cli, openstack
License
MIT
Install
pip install openstackinfo==5.5.0

Documentation

Build Status codecov

OpenStack Info

Gets information about what is in an OpenStack tenant.

Installation

Prerequisites:

  • python >= 3.6

The tool can be installed from PyPi:

pip install openstackinfo

Bleeding edge versions can be installed directly from GitHub:

git clone https://github.com/wtsi-hgi/openstack-info.git
cd openstack-tenant-cleaner
python setup.py install

or using pip:

pip install git+https://github.com/wtsi-hgi/openstack-info.git@master#egg=openstackinfo

Usage

CLI

Set environment variables:

export OS_USERNAME=user
export OS_TENANT_NAME=tenant
export OS_AUTH_URL=http://example.com:5000/v2.0/
export OS_PASSWORD=password

Then call:

openstackinfo

The available options can be found with openstackinfo -h:

usage: openstackinfo [-h] [-i {type,id}] [--max-connections MAX_CONNECTIONS]
                     [--retries RETRIES] [--retry-wait RETRY_WAIT]
                     [--retry-wait-multiplier RETRY_WAIT_MULTIPLIER]

Openstack tenant information retriever

optional arguments:
  -h, --help            show this help message and exit
  -i {type,id}, --index {type,id}
                        What the OpenStack information should be index by
                        (default: type)
  --max-connections MAX_CONNECTIONS
                        Maximum number of simultaneous connections to make to
                        OpenStack. Configured automatically if not set
                        (default: None)
  --retries RETRIES     Number of times to retry getting information about a
                        particular tpye of OpenStack resource (default: 3)
  --retry-wait RETRY_WAIT
                        Initial amount of time (in seconds) to wait after a
                        failure before retrying (default: 1.0)
  --retry-wait-multiplier RETRY_WAIT_MULTIPLIER
                        Multiplier that is applied to the wait time after each
                        failure. e.g. An initial wait time of 1.0s, a wait
                        multiplier of 5.0, and a maximum of 3 retries will
                        result in the waits between retries of [1.0s, 5.0s,
                        25.0s] (default: 5.0)
  --retry-wait-deviation RETRY_WAIT_DEVIATION
                        To minimise collisions, the wait time before retrying
                        a request is randomised to plus or minus the value of
                        this parameter as a percentage of the total wait time.
                        e.g. A wait time of 1.0s and max deviation percentage
                        of 10.0 will result in an actual wait between 0.9s and
                        1.1s (default: 10.0)

Python

from openstackinfo.retriever.models import Credentials
from openstackinfo.retriever.retrievers import ShadeInformationRetriever
from openstackinfo.helpers import get_information, RunConfiguration
from openstackinfo.indexers import InformationIndexerByType

retriever = ShadeInformationRetriever(credentials=Credentials(username, password, auth_url, tenant))
configuration = RunConfiguration(retriever=retriever, indexer=InformationIndexerByType)
openstack_info = get_information(configuration)

Alternatives

  • shade (underlying library: no CLI, no re-indexing).
  • Nova CLI (does not return JSON).
  • Openstack CLI (does not return server metadata).