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,21 @@
class packstack::keystone::cinder ()
{
$cinder_protocol = 'http'
$cinder_host = hiera('CONFIG_STORAGE_HOST_URL')
$cinder_port = '8776'
$cinder_url = "${cinder_protocol}://${cinder_host}:$cinder_port"
class { '::cinder::keystone::auth':
region => hiera('CONFIG_KEYSTONE_REGION'),
password => hiera('CONFIG_CINDER_KS_PW'),
public_url => "${cinder_url}/v1/%(tenant_id)s",
internal_url => "${cinder_url}/v1/%(tenant_id)s",
admin_url => "${cinder_url}/v1/%(tenant_id)s",
public_url_v2 => "${cinder_url}/v2/%(tenant_id)s",
internal_url_v2 => "${cinder_url}/v2/%(tenant_id)s",
admin_url_v2 => "${cinder_url}/v2/%(tenant_id)s",
public_url_v3 => "${cinder_url}/v3/%(tenant_id)s",
internal_url_v3 => "${cinder_url}/v3/%(tenant_id)s",
admin_url_v3 => "${cinder_url}/v3/%(tenant_id)s",
}
}