mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 10:08:40 -05:00
(POOLER-138) Support multiple pools per alias
This change updates handling of pool aliases to allow for more than a single pool to be configured as an alias pool. Without this change if multiple pools are configured as an alias the last one to configure it is set as the alias for that pool. Additionally, redis testing requirements are removed in favor of mock_redis. Without this change a redis server is required to run vmpooler tests.
This commit is contained in:
parent
d36e7dbee2
commit
49ec06e151
11 changed files with 41 additions and 28 deletions
|
|
@ -108,10 +108,11 @@ module Vmpooler
|
|||
parsed_config[:pool_names] << pool['name']
|
||||
if pool['alias']
|
||||
if pool['alias'].is_a?(Array)
|
||||
pool['alias'].each do |a|
|
||||
pool['alias'].each do |pool_alias|
|
||||
parsed_config[:alias] ||= {}
|
||||
parsed_config[:alias][a] = pool['name']
|
||||
parsed_config[:pool_names] << a
|
||||
parsed_config[:alias][pool_alias] = [pool['name']] unless parsed_config[:alias].key? pool_alias
|
||||
parsed_config[:alias][pool_alias] << pool['name'] unless parsed_config[:alias][pool_alias].include? pool['name']
|
||||
parsed_config[:pool_names] << pool_alias
|
||||
end
|
||||
elsif pool['alias'].is_a?(String)
|
||||
parsed_config[:alias][pool['alias']] = pool['name']
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ module Vmpooler
|
|||
template_backends = [template]
|
||||
aliases = Vmpooler::API.settings.config[:alias]
|
||||
if aliases
|
||||
template_backends << aliases[template] if aliases[template]
|
||||
|
||||
template_backends = template_backends + aliases[template] if aliases[template].is_a?(Array)
|
||||
template_backends << aliases[template] if aliases[template].is_a?(String)
|
||||
pool_index = pool_index(pools)
|
||||
weighted_pools = {}
|
||||
template_backends.each do |t|
|
||||
|
|
@ -61,7 +61,9 @@ module Vmpooler
|
|||
template_backends.delete(selection)
|
||||
template_backends.unshift(selection)
|
||||
else
|
||||
template_backends = template_backends.sample(template_backends.count)
|
||||
first = template_backends.sample
|
||||
template_backends.delete(first)
|
||||
template_backends.unshift(first)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue