Freezer puppet manifests spec
This spec is focused on issues related to various steps that need to be done to achieve automation deployment and maintenance for Freezer components. Change-Id: Ia42ab8b8cb15f4df6bf33483324743ec9c0cb0d0
This commit is contained in:
parent
d0f312f15d
commit
d5d5caa0dd
|
@ -0,0 +1,169 @@
|
||||||
|
..
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||||
|
License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
==========================================
|
||||||
|
Freezer puppet manifests spec
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
https://blueprints.launchpad.net/freezer/+spec/freezer-puppet-manifests
|
||||||
|
|
||||||
|
Problem description
|
||||||
|
===================
|
||||||
|
|
||||||
|
As there is no any automation tools for Freezer it is proposed to develop a
|
||||||
|
set of puppet manifests for auto install the following Freezer components:
|
||||||
|
|
||||||
|
* Freezer (freezer-agent and scheduler);
|
||||||
|
* Freezer API;
|
||||||
|
* Freezer Horizon Web UI;
|
||||||
|
|
||||||
|
Optionally we can consider possible to add set of manifests for Freezer
|
||||||
|
Disaster Recovery.
|
||||||
|
|
||||||
|
Use Cases
|
||||||
|
---------
|
||||||
|
|
||||||
|
All implemented manifest should follow principles of idempotence.
|
||||||
|
|
||||||
|
This bundle should make Freezer deployment pretty convenient and simple for
|
||||||
|
end-users and shouldn't require additional pieces of knowledge regarding
|
||||||
|
Freezer infrastructure during the first installation.
|
||||||
|
|
||||||
|
Also, these manifests should significantly simplify maintenance of Freezer
|
||||||
|
modules.
|
||||||
|
|
||||||
|
|
||||||
|
Proposed change
|
||||||
|
===============
|
||||||
|
|
||||||
|
* All Freezer puppet manifest should be located in separate repo:
|
||||||
|
https://github.com/openstack/puppet-freezer
|
||||||
|
* Puppet community requires having packages for various operating systems.
|
||||||
|
Nevertheless, for a while can be used package puppet module
|
||||||
|
|
||||||
|
* RPM packages should be discussed in #rdo IRC channel on Freenode and then
|
||||||
|
added in RDO trunk according to the RDO `guaidliness <https://www.rdoproject.org/documentation/rdo-packaging/#how-to-add-a-new-package-to-rdo-trunk>`_
|
||||||
|
* Debian packaging of OpenStack should be discussed in #openstack-pkg IRC
|
||||||
|
channel on Freenode
|
||||||
|
|
||||||
|
* at the very beginning puppet manifests should be implemented for Freezer,
|
||||||
|
Freezer-API and python-freezerclient components and only after that for
|
||||||
|
Freezer-WebUI and Freezer-DR
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
This functionality can be implemented in various ways like ansible playbooks,
|
||||||
|
shell scripts salt formulas, however, it was decided to start from puppet
|
||||||
|
manifests.
|
||||||
|
|
||||||
|
Data model impact
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
REST API impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Security impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Notifications impact
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Other end user impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Performance Impact
|
||||||
|
------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Other deployer impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Developer impact
|
||||||
|
----------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Primary assignee:
|
||||||
|
<None>
|
||||||
|
|
||||||
|
Other contributors:
|
||||||
|
<None>
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
The following task should be done according to this spec:
|
||||||
|
|
||||||
|
* Initialization of puppet-freezer repo creation;
|
||||||
|
* Create RPM packages;
|
||||||
|
* Created DEB packages;
|
||||||
|
* Implement puppet manifests for:
|
||||||
|
|
||||||
|
* handling required system packages;
|
||||||
|
* Freezer components;
|
||||||
|
* Freezer-API components;
|
||||||
|
* python-freezerclient components;
|
||||||
|
* Freezer-WebUI components;
|
||||||
|
* Freezer-DR components;
|
||||||
|
|
||||||
|
* Create relevant guidelines;
|
||||||
|
* Develop unit tests
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Documentation Impact
|
||||||
|
====================
|
||||||
|
|
||||||
|
Set of runbook and additional documentation should be implemented with full
|
||||||
|
description how to use Freezer puppet manifests during deployment and
|
||||||
|
maintenance procedures.
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
|
||||||
|
Weekly Meeting Logs[1]
|
||||||
|
|
||||||
|
[1] http://eavesdrop.openstack.org/meetings/freezer/2017/freezer.2017-03-02-14.00.log.txt
|
||||||
|
|
||||||
|
|
||||||
|
History
|
||||||
|
=======
|
||||||
|
|
||||||
|
.. list-table:: Revisions
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Release Name
|
||||||
|
- Description
|
||||||
|
* - Pike
|
||||||
|
- Introduced
|
Loading…
Reference in New Issue