Fix node_election error (on empty list)

Change-Id: Ic2ae97c0228ac3820b5b3f2f014743abf3e7b5c0
This commit is contained in:
Weidong Shao 2014-10-03 23:53:45 +00:00
parent 70e4160abd
commit d24846d4de

View File

@ -27,10 +27,14 @@ def node_election(role, tag, chef_environment = nil)
nodes = search(:node, "run_list:role\\[#{role}\\] AND \
chef_environment:#{chef_environment}") || []
nodes = nodes.sort_by { |node| node.name } unless nodes.empty?
if node.name.eql?(nodes.first.name)
if nodes.empty? or node.name.eql?(nodes.first.name)
node.tags << tag unless node.tags.include?(tag)
node.save
end
if nodes.empty?
return node
end
return nodes.first
else
return master.first