Add Liberty Release spec

Change-Id: I9c98776ef40245f2e7a3657a26d22ad905b59ebc
Implements: blueprint liberty-release
This commit is contained in:
Jesse Pretorius 2015-09-08 09:15:37 +01:00
parent 9ba455b71f
commit 9a52920f16
1 changed files with 181 additions and 0 deletions

View File

@ -0,0 +1,181 @@
Liberty Release
###############
:date: 2015-09-08 08:30
:tags: liberty, update
Update the various playbooks and roles in the master branch with the changes
necessary to implement a fully functional and updated Liberty deployment.
* https://blueprints.launchpad.net/openstack-ansible/+spec/liberty-release
Initial work will be based on the Liberty RC tags in each of the OpenStack
projects since Liberty is not yet officially released.
Problem description
===================
While the master branch has been tracking Liberty code for some time, none of
the configuration files have been updated to match the upstream changes in
order to handle deprecation, different default values, etc.
Proposed change
===============
#. Each template/file carried in-tree will need to be reviewed and revised
according to the new defaults and other adjustments in each OpenStack
project.
#. Each service will need to be inspected for changes in how deployments
and upgrades are handled, and the role tasks adjusted accordingly.
#. Any other changes to each service will need to be inspected and adjustments
to the roles must be made accordingly.
#. In a final test, fatal_deprecations should be set to True for all the
services to validate that all deprecated configurations have been removed
or replaced.
The approach to dealing with differences (eg changed defaults for a particular
setting) will be to use the Liberty value where possible. Deployers who are
upgrading from Kilo may use the `config_overrides`_ to implement overrides for
any configurations that they wish to keep at the previous values.
Examples of configs impacted (these will differ depending on the service being
worked on)::
/etc/<servicename>/<servicename>.conf
/etc/<servicename>/<servicename>-api-paste.ini
/etc/<servicename>/policy.json
/etc/<servicename>/<servicename>-<agentname>.ini
.. _config_overrides: http://docs.openstack.org/developer/openstack-ansible/install-guide/configure-openstack.html
Alternatives
------------
We could, wherever needed, preserve Kilo settings rather than taking forward
the Liberty settings. This is potentially easier on users in an upgrade
scenario, but does mean that new users deploying Liberty would get an already
out of date deployment. It also means that we miss an opportunity to implement
best practices deployments, instead sticking on old, less relevant, values.
Playbook impact
---------------
There will be no impact on the playbooks. These changes are on the dependency
and role level which only impact the configuration files and role options.
Upgrade impact
--------------
This change will impact upgrades, but upgrades are specifically out of scope
and will be addressed separately in
https://blueprints.launchpad.net/openstack-ansible/+spec/liberty-upgrade-path
The focus for this spec will be for new deployments only.
Security impact
---------------
Security testing and improvements are specifically out of scope. Testing for
security changes and improvements can be done after the release and
implemented in subsequent patches.
Performance impact
------------------
Performance testing and improvements are specifically out of scope. Testing
for performance changes and improvements can be done after the release and
implemented in subsequent patches.
End user impact
---------------
N/A
Deployer impact
---------------
Impacts must be noted in the commit messages for each change.
Developer impact
----------------
This change is to allow development of a production grade Liberty deployment
Dependencies
------------
#. There are several feature blueprints which are expected to merge into the
master branch alongside these changes. These features are to facilitate
future improvements in the Mitaka development timeframe and may be
backported to Liberty. The feature blueprints are marked as dependent in
Launchpad.
#. The final release of OpenStack-Ansible's Liberty release is entirely
dependent on OpenStack's Liberty release.
Implementation
==============
Assignee(s)
-----------
* Ceilometer: https://launchpad.net/~miguel-cantu ``alextricity``
* Cinder: https://launchpad.net/~jesse-pretorius ``odyssey4me``
* Glance: https://launchpad.net/~jesse-pretorius ``odyssey4me``
* Heat: https://launchpad.net/~jesse-pretorius ``odyssey4me``
* Horizon: https://launchpad.net/~steve-lewis ``stevelle``
* Keystone: https://launchpad.net/~jesse-pretorius ``odyssey4me``
* Neutron: https://launchpad.net/~jesse-pretorius ``odyssey4me``
* Nova: https://launchpad.net/~jesse-pretorius ``odyssey4me``
* Swift: https://launchpad.net/~jesse-pretorius ``odyssey4me``
* Tempest: https://launchpad.net/~jesse-pretorius ``odyssey4me``
Work items
----------
See Assignees.
Testing
=======
No changes to the current testing and or gating framework will be made. Each
change that is made to a service to bring forward new configs and settings will
be required to pass the same gate tests as are required by our production
systems.
Documentation impact
====================
All changes made will require DocImpact tags in the commit messages in order
to track the changes required for documentation.
References
==========
* https://etherpad.openstack.org/p/liberty-config-changes