Sha256: 1e22ed44a38e251991f62142c08e0aafe347943030b035b91dd77d96341334d1

Contents?: true

Size: 1.45 KB

Versions: 13

Compression:

Stored size: 1.45 KB

Contents

module HammerCLIForeman
  module CommandExtensions
    class Ping < HammerCLI::CommandExtensions
      before_print do |data|
        unless data['results']['foreman'].nil?
          status = data['results']['foreman']['database']['active']
          data['results']['foreman']['database']['active'] = status ? 'ok' : 'FAIL'
          duration = data['results']['foreman']['database']['duration_ms']
          data['results']['foreman']['database']['duration_ms'] = _('Duration: %sms') % duration
        end
      end

      def self.check_for_unrecognized(plugins, output_definition)
        failed = plugins.select { |_, data| data['services'] }
                        .each_with_object([]) { |(_, d), s| s << d['services'] }
                        .reduce({}, :merge)
                        .select do |name, data|
          begin
            output_definition.find_field(name)
            false
          rescue ArgumentError
            data['status'] == _('FAIL')
          end
        end
        return if failed.empty?

        warn [_('%{count} more service(s) failed, but not shown:') % { count: failed.size },
              failed.keys.join(', '),
              ''].join("\n")
      end

      def self.failed?(services)
        services['foreman']['database']['active'] == 'FAIL' ||
          services.each_value.any? { |s| s['status'] == _('FAIL') }
      end

      request_options do |options|
        options[:with_authentication] = false
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
hammer_cli_foreman-3.8.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.7.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.5.1 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.6.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.5.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.4.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.3.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.2.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-2.5.2 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.1.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-3.0.0 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-2.5.1 lib/hammer_cli_foreman/command_extensions/ping.rb
hammer_cli_foreman-2.5.0 lib/hammer_cli_foreman/command_extensions/ping.rb