From: Tommi Virtanen Date: Wed, 25 Jul 2012 22:55:46 +0000 (-0700) Subject: Share more code inside get_mon_nodes. X-Git-Tag: eval1~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3e13a7962932457ff0353b61735d93ff491a83bd;p=ceph-cookbooks.git Share more code inside get_mon_nodes. Only call search() in one place, just build different search strings for Crowbar and non-Crowbar. --- diff --git a/libraries/default.rb b/libraries/default.rb index 59bc8bd..a34db4c 100644 --- a/libraries/default.rb +++ b/libraries/default.rb @@ -3,17 +3,16 @@ def is_crowbar?() end def get_mon_nodes() - mons = [] - if is_crowbar? mon_roles = search(:role, 'name:crowbar-* AND run_list:role\[ceph-mon\]') if not mon_roles.empty? search_string = mon_roles.map { |role_object| "role:"+role_object.name }.join(' OR ') - mons += search(:node, "(#{search_string}) AND ceph_config_environment:#{node['ceph']['config']['environment']}") + search_string = "(#{search_string}) AND ceph_config_environment:#{node['ceph']['config']['environment']}" end else - mons += search(:node, "role:ceph-mon AND chef_environment:#{node.chef_environment}") + search_string = "role:ceph-mon AND chef_environment:#{node.chef_environment}" end + mons = search(:node, search_string) return mons end