99e398125b
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 |
||
---|---|---|
doc | ||
etc | ||
lib | ||
playbooks | ||
releasenotes | ||
scripts | ||
tests | ||
.gitignore | ||
.gitreview | ||
ansible-role-requirements.yml | ||
ansible-role-requirements.yml.example | ||
bindep.txt | ||
global-requirement-pins.txt | ||
LICENSE.txt | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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.