Implement options
as array of hashes so order is preserved
#173
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes https://tickets.puppetlabs.com/browse/MODULES-1317. See also the
discussion in PR #171.
Frontend, backend and listen options are specified via the
haproxy::frontend::options
,haproxy:backend::options
andhaproxy::listen::options
parameters. Until now thisoptions
parameter was a hash, which means it had to be sorted before processing
it in the
_options.erb
template fragment (since Ruby 1.8.x hasnon-deterministic hash key ordering).
This clashes with the fact that in HAProxy's configuration order matters.
With this change we allow the
options
parameter to be either a hash,like before, or an array of hashes, where each hash represents a
frontend, backend or listen option and its value. This way the order in
which options will appear in the final configuration file can be
controlled entirely by the user.
This change is completely backwards compatible and contains updated spec
tests and documentation.