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 OFTC and then added in RDO trunk according to the RDO guaidliness

  • Debian packaging of OpenStack should be discussed in #openstack-pkg IRC channel on OFTC

  • 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:

vnogin (Vitaliy Nogin)

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

Revisions

Release Name

Description

Pike

Introduced