Ansible playbooks for deploying OpenStack.
Go to file
Nolan Brubaker 99e398125b Add IPManager class for handling IP addresses
This patch begins work on an 'IPManager' class that further decouples
IP/CIDR manipulation from the openstack-ansible configuration handling
logic.

With this patchset, a new implementation is provided and tested in
isolation, with integration into and replacement of existing code set
for follow up patchsets.

The aim is also to provide a working implementation based on a proposed
IP management API for use with plugins. The proposed API is provided as
the IPBasePlugin class, and generic expectations of the API are
documented there.

A few notable changes exist in the new IPManager class versus the
existing codebase:

    - The Queue.Queue class is not used, but rather a plain, randomized
    list. Reviewing the existing implementation, there does not appear
    to be a need to use the specialized queue class.

    - USED_IPS is moved into a set associated with a given IPManager
    object. The expectation is that dynamic_inventory.py will treat
    IPManager as a singleton, but this implementation allows for
    replacing that singleton in test cases, or using multiple instances
    in some other context.

While the lib/ip.py file is not intended to be executed, the python
shebang line was provided in order to comply with our tox linting
searches.

Change-Id: I06729ac2bc1688a39255f2c8ea0d14131b5c2560
2016-11-18 17:07:03 -05:00
doc Add command to remove IPs from inventory 2016-11-11 12:12:22 -05:00
etc Move ansible_ssh_host to ansible_host 2016-11-10 11:38:07 +00:00
lib Add IPManager class for handling IP addresses 2016-11-18 17:07:03 -05:00
playbooks Merge "Fix multi arch repo-build" 2016-11-15 14:56:32 +00:00
releasenotes Adding Trove UI support to the integrated repo. 2016-11-11 09:13:47 +02:00
scripts Move ansible_ssh_host to ansible_host 2016-11-10 11:38:07 +00:00
tests Add IPManager class for handling IP addresses 2016-11-18 17:07:03 -05:00
.gitignore Merge "Update run-playbooks to support playbook logic" 2016-09-26 22:59:06 +00:00
.gitreview Update .gitreview for project rename 2015-09-11 20:58:10 +00:00
ansible-role-requirements.yml Adding Designate to integrated repo. 2016-11-08 10:25:29 +00:00
ansible-role-requirements.yml.example Convert existing roles into galaxy roles 2015-02-18 10:56:25 +00:00
bindep.txt Replace github with git.o.o 2016-11-03 12:09:05 +11:00
global-requirement-pins.txt Update all SHAs for Ocata 2016-11-04 2016-11-08 16:24:57 +00:00
LICENSE.txt Correct path to callback plugins in gate script 2016-02-01 16:52:54 +00:00
README.rst Trivial: Keep consistency of "OpenStack-Ansible" 2016-01-12 15:29:46 +08:00
requirements.txt Updated from global requirements 2016-09-30 20:03:37 +00:00
setup.cfg Update the home-page info with the developer documentation 2016-08-01 06:57:14 +00:00
setup.py Updated from global requirements 2016-07-15 12:58:23 +00:00
test-requirements.txt Updated from global requirements 2016-11-02 21:58:21 +00:00
tox.ini Add IPManager class for handling IP addresses 2016-11-18 17:07:03 -05:00

OpenStack-Ansible

OpenStack-Ansible is an official OpenStack project which aims to deploy production environments from source in a way that makes it scalable while also being simple to operate, upgrade, and grow.

For an overview of the mission, repositories and related Wiki home page, please see the formal Home Page for the project.

For those looking to test OpenStack-Ansible using an All-In-One (AIO) build, please see the Quick Start guide.

For more detailed Installation and Operator documentation, please see the Install Guide.

If OpenStack-Ansible is missing something you'd like to see included, then we encourage you to see the Developer Documentation for more details on how you can get involved.

Developers wishing to work on the OpenStack-Ansible project should always base their work on the latest code, available from the master GIT repository at Source.

If you have some questions, or would like some assistance with achieving your goals, then please feel free to reach out to us on the OpenStack Mailing Lists (particularly openstack-operators or openstack-dev) or on IRC in #openstack-ansible on the freenode network.