From 04f5a348a9261649c5db96ee8a7f24247b746879 Mon Sep 17 00:00:00 2001 From: Jaume Devesa Date: Fri, 17 Jul 2015 17:07:39 +0200 Subject: [PATCH] Fix the function zookeeper_servers by sorting Return the list of zookeeper hosts ordered by its id. Change-Id: I432922cf5cad98b8b8ea49481d8059ac4347ecb8 --- lib/puppet/parser/functions/zookeeper_servers.rb | 3 ++- spec/classes/midonet_zookeeper_spec.rb | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/puppet/parser/functions/zookeeper_servers.rb b/lib/puppet/parser/functions/zookeeper_servers.rb index 93e9490..37e492a 100644 --- a/lib/puppet/parser/functions/zookeeper_servers.rb +++ b/lib/puppet/parser/functions/zookeeper_servers.rb @@ -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 diff --git a/spec/classes/midonet_zookeeper_spec.rb b/spec/classes/midonet_zookeeper_spec.rb index 75f09de..2370f25 100644 --- a/spec/classes/midonet_zookeeper_spec.rb +++ b/spec/classes/midonet_zookeeper_spec.rb @@ -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