From d5d5caa0dd5894811fa7d9d5e38d20859ab0ae9a Mon Sep 17 00:00:00 2001 From: Vitalii Nogin Date: Wed, 22 Mar 2017 18:14:29 +0200 Subject: [PATCH] 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 --- .../approved/freezer-puppet-manifests.rst | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 specs/pike/approved/freezer-puppet-manifests.rst diff --git a/specs/pike/approved/freezer-puppet-manifests.rst b/specs/pike/approved/freezer-puppet-manifests.rst new file mode 100644 index 0000000..099fd00 --- /dev/null +++ b/specs/pike/approved/freezer-puppet-manifests.rst @@ -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 `_ + * 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: + + +Other contributors: + + +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