Common OpenStack Configuration Provider
Change-Id: I9836a6c36d2d69e6aa4ad83187d067c87f366c0d
This commit is contained in:
102
specs/common-openstack-configuration-provider.rst
Normal file
102
specs/common-openstack-configuration-provider.rst
Normal file
@@ -0,0 +1,102 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
=======================================
|
||||
Common OpenStack Configuration Provider
|
||||
=======================================
|
||||
|
||||
https://blueprints.launchpad.net/puppet-openstacklib/+spec/common-openstack-configuration-provider
|
||||
|
||||
This spec is about introducing a common configuration provider based on
|
||||
the ini_setting provider from puppetlabs-inifile. Other configuration
|
||||
providers would now inherit from this provider instead.
|
||||
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
All puppet modules for OpenStack uses the ini_setting provider as their
|
||||
grounds for their specialized version.
|
||||
|
||||
Recent work has been started to implement a secret parameter where changes
|
||||
for a specific configuration value would be hidden from Puppet logs.
|
||||
This work is and will be duplicated across all the specialized providers,
|
||||
violating the DRY concept.
|
||||
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Introduce a common configuration provider which could be used by other
|
||||
specialized configuration providers. This common provider would provide
|
||||
a basic set of features. Example of such features are the secret parameter
|
||||
and the capitalization of boolean values.
|
||||
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
Without this proposition, we should have to continue using the ini_setting
|
||||
provider as the base of our specialized configuration providers and
|
||||
implement/copy features in each of them.
|
||||
|
||||
We could also try proposing our features and changes to upstream so
|
||||
we don't have to maintain them anymore. Those changes might however not
|
||||
fit the vision of upstream, like the capitalization of boolean values.
|
||||
|
||||
|
||||
Module API impact
|
||||
-----------------
|
||||
|
||||
This proposition does not include any change to any module API.
|
||||
|
||||
|
||||
Deployer impact
|
||||
---------------
|
||||
|
||||
This proposition introduces a new mandatory dependency on openstacklib.
|
||||
|
||||
Those deploying from the master branch and/or using Puppetfile would need to
|
||||
install the openstacklib puppet module.
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
mgagne
|
||||
|
||||
Other contributors:
|
||||
None
|
||||
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Create openstack_ini_setting provider
|
||||
* Refactor the existing configuration providers to use openstack_ini_setting.
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
None
|
||||
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
* Unit test fixtures of all puppet modules would need to be updated
|
||||
to install openstacklib.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
None
|
||||
Reference in New Issue
Block a user