namespace :rh_cloud_insights do
desc "Synchronize Insights hosts hits" task sync: [:environment, 'dynflow:client'] do ForemanTasks.sync_task(InsightsCloud::Async::InsightsFullSync) puts "Synchronized Insights hosts hits data" end desc "Remove insights client report statuses by searching on host criteria" task clean_statuses: [:environment] do hosts_search = ENV['SEARCH'] if hosts_search.empty? puts 'Must specify SEARCH= criteria for hosts search' next end cleaner = ForemanRhCloud::InsightsStatusCleaner.new deleted_count = cleaner.clean(hosts_search) puts "Deleted #{deleted_count} insights statuses" end desc "Re-announce all organizations into Sources on RH cloud." task announce_to_sources: [:environment] do logger = Logging::Logger.new(STDOUT) Organization.unscoped.each do |org| presence = ForemanRhCloud::CloudPresence.new(org, logger) presence.announce_to_sources rescue StandardError => ex logger.warn(ex) end logger.info('Reannounced all organizations') end
end