Sha256: 9c228e35e8bbf9a6908b980fe34ab45dd01b8753e0ac28019d6e391765e31f0b
Contents?: true
Size: 1.17 KB
Versions: 9
Compression:
Stored size: 1.17 KB
Contents
module Actions module Middleware class BackendServicesCheck < Dynflow::Middleware def plan(*args) if Setting[:check_services_before_actions] #To prevent the ping from happening multiple times, keep track on the initial entry action parent = source_action parent.input[:services_checked] ||= [] to_check = services - parent.input[:services_checked] if to_check.any? result = User.as_anonymous_admin { ::Katello::Ping.ping(to_check)[:services] } to_check.each do |service| if result[service][:status] != ::Katello::Ping::OK_RETURN_CODE fail _("There was an issue with the backend service %s: ") % service + result[service][:message] end end parent.input[:services_checked].concat(to_check) end end pass(*args) end protected def source_action parent = self.action until parent.trigger.nil? parent = parent.trigger end parent end def services fail _("No services defined, is this class extended?") end end end end
Version data entries
9 entries across 9 versions & 1 rubygems