28 04 2015
The foreman out of sync duration.
The default out of sync duration is the puppet run duration + 5 minutes, as we run the puppet default it makes it 35 minutes. This however means that there are ~15 out of sync hosts at any time that just haven’t ran in an hour which isn’t a huge problem for us.
I wanted to change the out of sync duration to 90 minutes, so if they have missed three runs we would get notified.
My solution is as follows, and is a bit of a hack.
./app/models/host/managed.rb
scope :out_of_sync, lambda { |*args| {:conditions => ["last_report < ? and enabled != ?", (args.first || (Setting[:puppet_interval] + 60).minutes.ago), false]} }
./app/views/dashboard/_status_widget.html.erb
<%= searchable_links _('Out of sync hosts'), "last_report < \"#{Setting[:puppet_interval] + 60} minutes ago\" and status.enabled = true", :out_of_sync_hosts_enabled %>
./app/controllers/hosts_controller.rb
def out_of_sync merge_search_filter("last_report < \"#{Setting[:puppet_interval] + 60} minutes ago\" and status.enabled = true") index _("Hosts which didn't run puppet in the last %s") % (view_context.time_ago_in_words((Setting[:puppet_interval]+60).minutes.ago)) end
Openmanage: Failed to start because system is not supported. luks partition notes