From 305f84685d0284909681572ff3f6d36e3b28f25f Mon Sep 17 00:00:00 2001 From: Weidong Shao Date: Tue, 2 Sep 2014 23:44:25 +0000 Subject: [PATCH] Fix an error on empty list from chef search Change-Id: Iacfd5614849b3885c5be833122d1f640c34ce66c --- chef/cookbooks/openstack-identity/libraries/default.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/chef/cookbooks/openstack-identity/libraries/default.rb b/chef/cookbooks/openstack-identity/libraries/default.rb index e0d47e6..ccb46e8 100644 --- a/chef/cookbooks/openstack-identity/libraries/default.rb +++ b/chef/cookbooks/openstack-identity/libraries/default.rb @@ -27,10 +27,15 @@ 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