Refactor manifest execution

Previously, Packstack created many individual manifest files from
smaller snippets (templates), and executed them following a certain
order. This is sub-optimal, since it forces code duplication and goes
against the Puppet design of running a single manifest.

This patch refactors the manifest execution, following these principles:

- Only 3 templates used, so max 3 Puppet executions on a host: controller
  manifest, network node manifest, compute node manifest.

- The previous snippets are now part of the Packstack Puppet module, and
  included as needed by the controller/network/compute manifests. This
  concept is similar to the one used by the puppet-openstack-integration
  project [1].

- The remaining Python code is left untouched, so we can keep complete
  compatibility with previous answer files.

- Redis HA support has been removed, as this was the only service with
  HA enabled and didn't fit the general purpose of Packstack.

[1] - https://github.com/openstack/puppet-openstack-integration

Change-Id: I87591be0fce98079c85c5c12ad76ea7115fb9c75
This commit is contained in:
Javier Pena
2016-06-14 17:00:14 +02:00
parent 2380a93e3b
commit 4587b9b4d3
284 changed files with 4524 additions and 4855 deletions

View File

@@ -0,0 +1,17 @@
class packstack::ironic ()
{
create_resources(packstack::firewall, hiera('FIREWALL_IRONIC_API_RULES', {}))
ironic_config {
'glance/glance_host': value => hiera('CONFIG_STORAGE_HOST_URL');
}
class { '::ironic::api':
auth_uri => hiera('CONFIG_KEYSTONE_PUBLIC_URL'),
admin_password => hiera('CONFIG_IRONIC_KS_PW'),
}
class { '::ironic::client': }
class { '::ironic::conductor': }
}