Fix the function zookeeper_servers by sorting

Return the list of zookeeper hosts ordered by its id.

Change-Id: I432922cf5cad98b8b8ea49481d8059ac4347ecb8
This commit is contained in:
Jaume Devesa 2015-07-17 17:07:39 +02:00
parent d3f759a25f
commit 04f5a348a9
2 changed files with 6 additions and 4 deletions

View File

@ -21,7 +21,8 @@ module Puppet::Parser::Functions
if servers.class == Hash
servers = Array.new(1, servers)
end
return servers.map { |hash| hash["host"] }
servers = servers.sort_by{|server| server['id']}
return servers.map { |hash| hash['host'] }
end
end

View File

@ -6,15 +6,16 @@ describe 'midonet::zookeeper' do
let :params do
{
:servers => [{"id" => 1, "host" => 'node_1'},
{"id" => 2, "host" => 'node_2'},
{"id" => 3, "host" => 'node_3'}],
{"id" => 3, "host" => 'node_2'},
{"id" => 2, "host" => 'node_3'}],
:server_id => 3
}
end
let :zookeeper_params do
{
:servers => ['node_1', 'node_2', 'node_3'],
# Please note the output is sorted by input 'ids'
:servers => ['node_1', 'node_3', 'node_2'],
:id => 3
}
end