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:
Vitalii Nogin 2017-03-22 18:14:29 +02:00 committed by Vitaliy Nogin
parent d0f312f15d
commit d5d5caa0dd
1 changed files with 169 additions and 0 deletions

View File

@ -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