# Hostgroup definitions
#
# Autogenerated by Chef.

define hostgroup {
  hostgroup_name all
  alias all
  members *
}

<% @roles.each do |r| -%>
define hostgroup {
  hostgroup_name <%= r %>
  alias <%= r %>
}

<% end -%>

<% if node['nagios']['multi_environment_monitoring'] -%>
<% @environments.each do |e| -%>
define hostgroup {
  hostgroup_name <%= e %>
  alias <%= e %>
}
<% end -%>
<% end -%>

<% @os.each do |o| -%>
define hostgroup {
  hostgroup_name <%= o %>
  alias <%= o %>
}
<% end -%>

<% @search_hostgroups.each do |hostgroup| -%>
define hostgroup {
  hostgroup_name <%= hostgroup %>
  alias <%= hostgroup %>
<% if @search_nodes[hostgroup].length > 0 -%>
  members        <%= @search_nodes[hostgroup] %>
<% else -%>
  members        empty
<% end -%>
}
<% end -%>

# Hostgroup definitions
#
# Autogenerated by Chef.

define hostgroup {
  hostgroup_name all
  alias all
  members *
}

<% @hostgroups.sort.each do |h| -%>
define hostgroup {
  hostgroup_name <%= h %>
  alias <%= h %>
}

<% end -%>

<% @search_hostgroups.sort.each do |hostgroup| -%>
define hostgroup {
  hostgroup_name <%= hostgroup %>
  alias <%= hostgroup %>
<% if @search_nodes[hostgroup].length > 0 -%>
  members        <%= @search_nodes[hostgroup] %>
<% else -%>
  members        empty
<% end -%>
}

<% end -%>
Simplify the hostgroups ERB and have it just print out hostgroups
Simplify the hostgroups ERB and have it just print out hostgroups

No need for printing "environments" or "os" since those are rolled into
the hostgroups value now.  Also along for the ride:  Sort the
hostgroups to prevent templating the file one very run and add an
additional empty line after the search based hostgroups so that the
proper formatting is maintained
