specs: rocky: Add new openstack-distribution-packages specification
Add new Rocky specification for installing OpenStack services using the distribution packages. Implements blueprint: openstack-distribution-packages Change-Id: Id5b991c6982609931a7befb1a2a3e74363a3024c
This commit is contained in:
parent
11ba3f9a71
commit
bc4dbd855e
|
@ -0,0 +1,133 @@
|
|||
Install OpenStack services from distribution packages
|
||||
#######################################################
|
||||
:date: 2018-03-27 00:00
|
||||
:tags: roles, deployment
|
||||
|
||||
Blueprint on Launchpad
|
||||
|
||||
* https://blueprints.launchpad.net/openstack-ansible/+spec/openstack-distribution-packages
|
||||
|
||||
This spec outlines the work required to enable the OpenStack-Ansible roles to
|
||||
install the OpenStack services using the distribution packages from the distribution
|
||||
Cloud repositories.
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
OpenStack-Ansible installs the OpenStack services from the source. Whilst this
|
||||
is great in terms of flexibility, it creates some problems such as:
|
||||
|
||||
* Long deployment times since wheel packages need to be built and distributed.
|
||||
* Unsupported installations by distributions. The versions of OpenStack services
|
||||
built from source do not necessarily match what distributions test together as
|
||||
part of their integration and verification process so it's hard for them to
|
||||
provide support for such installations. As a result of which, operators have
|
||||
limited options when seeking technical support for their deployments.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Add an additional installation method to all the OpenStack-Ansible roles in
|
||||
which the services will be installed using the packages provided by the
|
||||
distributions themselves. The default installation method will not change.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
N/A
|
||||
|
||||
Playbook/Role impact
|
||||
--------------------
|
||||
|
||||
All the OpenStack Ansible roles which install OpenStack services (os_*) will be
|
||||
impacted by the proposed change. A new variable will be made available on per-role
|
||||
basis to allow deployers to select the preferred installation method.
|
||||
|
||||
Switching from one installation method to the other will not be supported.
|
||||
This can be clarified on the Deployer's documentation and also explicitly detected
|
||||
and prevented in the Ansible playbooks possibly by storing a local fact on the host to
|
||||
denote the installation method and checking it during upgrades.
|
||||
|
||||
Upgrade impact
|
||||
--------------
|
||||
|
||||
Upgrades should not be impacted since the default installation method will not
|
||||
change.
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
The security of the overall installation will not change since distributions
|
||||
normally backport security fixes which are already present in the upstream packages
|
||||
so both installations methods will offer the same level of security reassurances.
|
||||
|
||||
Performance impact
|
||||
------------------
|
||||
|
||||
The overall performance of the deployment will likely be improved since the
|
||||
distribution packages normally have their default settings tweaked and
|
||||
optimized to match each distribution's environment and needs.
|
||||
|
||||
End user impact
|
||||
---------------
|
||||
|
||||
N/A
|
||||
|
||||
Deployer impact
|
||||
---------------
|
||||
|
||||
The benefit of this new method for deployer's is twofold:
|
||||
|
||||
- Use supported packages by distributions and provide feedback back to them.
|
||||
This benefits both distributions and operators since both ends use packages
|
||||
which have passed integration and functional testing before being released.
|
||||
- Shorten deployment times since distribution packages are used instead of building
|
||||
new ones from source.
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
N/A
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
N/A
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
Markos Chandras (hwoarang)
|
||||
|
||||
Work items
|
||||
----------
|
||||
|
||||
The following work items are the same across all impacted roles
|
||||
|
||||
* Move existing installation tasks to a new file (``${role}_install_source.yml``)
|
||||
* Create new file (``${role}_install_distro.yml``) with a set of tasks for distribution
|
||||
installations if necessary.
|
||||
* Add new variable to allow deployers to select installation method (``${role}_install_method``)
|
||||
* Dynamically include the appropriate installation file based on the variable's value
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
Since the default installation method does not change, no new tests are required.
|
||||
However, developers may choose to add new jobs on per distribution basis to test
|
||||
the new installation method.
|
||||
|
||||
Documentation impact
|
||||
====================
|
||||
|
||||
Documentation needs to be modified to explain how to use the ``distribution``
|
||||
installation method.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
N/A
|
Loading…
Reference in New Issue