IRR - rabbitmq_server

Independent Role Repository for the rabbitmq_server role.

Change-Id: I8be214835f6867df6ac3259aaafb2fc1d0e330d0
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
Kevin Carter 2015-12-07 21:26:52 -06:00
parent 9f553a22fa
commit 19ad2edbcd
No known key found for this signature in database
GPG Key ID: 69FEFFC5E2D9273F

View File

@ -0,0 +1,131 @@
IRR - RabbitMQ server
#####################
:date: 2015-11-01
:tags: independent-role-repositories, rabbitmq_server
Split out the rabbitmq_server role into it's own repository.
Problem description
===================
Roles are all contained within a single monolithic repository making it
impossible/difficult to consume the OSA roles outside of deploying the
entire stack.
Proposed change
===============
To ensure that the OSA project is consumable by other stacks using different
architectures, deployment methods, and capabilities the role
"rabbitmq_server" need to be moved from the monolithic stack and
into the it's own role repository.
Alternatives
------------
Leave everything the way it is. However doing that will hurt general OSA
adoption.
Playbook/Role impact
--------------------
* No impact to the playbooks.
* The role will be removed from the main stack. The plugins, filters, and
libraries may need to be locally updated.
Upgrade impact
--------------
While the change will impact the placement of the role it will not impact
upgrade-ability of the stack. The general workflow will need to be updated
to ensure that users are updating roles on upgrade using the Ansible
galaxy interface however generally speaking this is already being done for
the deployer when running the ``bootstrap-ansible.sh`` script.
Security impact
---------------
n/a
Performance impact
------------------
Moving the role to an external repository will cause an impact in time to
role resolution however that impact should be minimal.
End user impact
---------------
n/a
Deployer impact
---------------
Deployers will need to be aware of the new role locations and how to update
existing roles however this should be minimal considering the tooling for
updating existing roles already exists
Developer impact
----------------
Developers will need focus work within the roles which will exist within
separate repositories.
Dependencies
------------
n/a
Implementation
==============
Assignee(s)
-----------
Primary assignee:
https://launchpad.net/~kevin-carter (IRC: cloudnull)
Work items
----------
* With the role moved, tests will be created within the role via OpenStack CI
to ensure that the role is performing the actions that its supposed to.
* Updated documentation via the "README.rst" will be created to show how the
role can be used standalone.
* Example local inventory will be created to show how the role can be used.
The local only inventory will also be used for testing the role.
Testing
=======
* The test cases will deploy the role into a regular DSVM image
* The role will execute itself locally
* Once the role has completed an Ansible test play will run through several
assert tasks to ensure the role functioned as intended.
Documentation impact
====================
The base README.rst file will be updated to explain how the role can be used
as a standalone role.
References
==========
n/a