Better way to ensure keepalived before haproxy.

The lastest patchset of https://review.openstack.org/393361 was actually
not working.

The `if defined` idiom depends on *evaluation* order.

At the time it's red in the haproxy.pp class, the line that loads the
class 'haproxy' has still not yet been reached and thus the `defined`
result is false. The constraint is not added.

For this reason, the use of `defined` in module is not advised by
puppetlabs[1].

[1] https://docs.puppet.com/puppet/latest/reference/function.html#defined

Change-Id: Ibd352cb313f8863d62db8987419378bed5b87256
Relates-To: #1638029
This commit is contained in:
Sofer Athlan-Guyot 2016-11-08 10:16:53 +01:00
parent 8a4fc9c18e
commit b11d048e55
2 changed files with 2 additions and 4 deletions

View File

@ -599,6 +599,8 @@ class tripleo::haproxy (
# This code will be removed once we switch undercloud and overcloud to use both haproxy & keepalived roles.
if $keepalived {
include ::tripleo::keepalived
# Make sure keepalive starts before haproxy.
Class['::keepalived::service'] -> Class['::haproxy']
}
# TODO(bnemec): When we have support for SSL on private and admin endpoints,

View File

@ -158,8 +158,4 @@ class tripleo::keepalived (
priority => 101,
}
}
# Make sure keepalive starts before haproxy.
if (defined(Class['::haproxy'])) {
Class['::keepalived::service'] -> Class['::haproxy']
}
}