Age | Commit message (Collapse) | Author | Files | Lines |
|
TL;DR:
If keystone_public_api_vip and/or public_virtual_ip is an array of IPs,
HAproxy will be configured to listen on all IPs that are given in the
arrays.
It allows to specify an array for keystone_public_api_vip and/or
public_virtual_ip where one IP is v4 and another one is v6.
HAproxy will configured to listen on both and redirect the traffic to
the IPv6 network (Dual-Stack).
Implementation & background:
HAproxy requires binding options as an hash where each IP contains an
array of binding options.
TripleO does not support Puppet Parser [1] (yet) so we can't manipulate
data iterations inside the manifests.
This patch creates a custom function, called list_to_hash.
Example:
keystone_vips = ['192.168.0.1:5000', '192.168.0.2:5000']
$keystone_bind_opts = ['transparent']
Using this function:
$keystone_vips_hash = list_to_hash($keystone_vips,
$keystone_bind_opts)
Would return:
$keystone_vips_hash = {
'192.168.0.1:5000' => ['transparent'],
'192.168.0.2:5000' => ['transparent'],
}
This function will help us in loadbalancer.pp to construct binding
options in dynamic way.
It's backward compatible, so you don't have to give an array.
But if you do, multiple binding will be configured in HAproxy and you'll
also be able to deploy IPv6 Dual-Stack.
[1] https://docs.puppetlabs.com/puppet/latest/reference/lang_iteration.html
Change-Id: I003b6d7d171652654745861d4231882f9e0d373e
|
|
Proper interface matching when an IPv6 address is provided.
If Facter version used is < 3 then it adds the netmask6 facts as custom facts.
Fix bugs https://bugzilla.redhat.com/show_bug.cgi?id=1280523
Change-Id: Ide26ca1740dc12ea5f47a28f4cecacd6ef0b18f9
|
|
It is already merged on the puppetlabs-stdlib module:
https://github.com/puppetlabs/puppetlabs-stdlib/commit/88a9a314c3e9cccbea5add95081655f2c14ec4c1
And we don't need to carry with this validation anymore.
Change-Id: I2cee12e7601c546e616e2c249157e7739af29490
|
|
Provide TripleO overcloud manifests to deploy MidoNet and the cluster
services that needs to run.
Change-Id: I24f852e74fc4652d4609e1a71897e813448055fe
|
|
This patch converts the write_package_names function into
a proper resource. Using the write_package_names only works
if the function comes last in the puppet manifest. By
making the same functionality a custom resource we allow
for it to exist anywhere in the manifest and provide the
same functionality.
The new syntax would be:
package_manifest{'/tmp/foo': ensure => present}
Co-Authored-By: Martin Mágr <mmagr@redhat.com>
Change-Id: If3e03b1983fed47082fac8ce63f975557dbc503c
|
|
This function writes out package names that have been
defined in a given puppet catalog.
In order to work this should be place last (or very late)
in a manifest to ensure it picks up packages.
Change-Id: Ie21b5bf7df71337da02ea43915dc4e70d3052bb7
|
|
Adds a class to configure fence devices and a helper function which
helps to select the devices for configuration on appropriate nodes.
Depends on patches outside OpenStack's Gerrit:
https://github.com/redhat-openstack/puppet-pacemaker/pull/50
https://github.com/redhat-openstack/puppet-pacemaker/pull/52
Change-Id: I819fc8c126ec47cd207c59b3dcf92ff699649c5a
|
|
This patch adds a custom Puppet function called interface_for_ip
This function will be used within the TripleO puppet implementation
to help obtain the correct interface for a given IP address.
Change-Id: I0979f69a49052fda888277fa64ebeadc038bc778
|