Sha256: f9f540a6310b7088bfaebb25db712672e16956d9f91b0784bd435bd0261eec5e

Contents?: true

Size: 1.65 KB

Versions: 10

Compression:

Stored size: 1.65 KB

Contents

module Actions
  module Candlepin
    class ImportPoolHandler
      def initialize(logger)
        @logger = logger
      end

      def handle(message)
        @logger.debug("message received from subscriptions queue ")
        @logger.debug("message subject: #{message.subject}")

        ::User.current = ::User.anonymous_admin

        message_handler = ::Katello::Candlepin::MessageHandler.new(message)

        case message_handler.subject
        when /entitlement\.created/
          message_handler.import_pool
          message_handler.create_pool_on_host
        when /entitlement\.deleted/
          message_handler.import_pool
          message_handler.remove_pool_from_host
        when /pool\.created/
          message_handler.import_pool
        when /pool\.deleted/
          message_handler.import_pool
        when /compliance\.created/
          reindex_consumer(message_handler)
        end
      end

      private

      def reindex_consumer(message_handler)
        subscription_facet = message_handler.subscription_facet
        sub_status = message_handler.sub_status
        uuid = message_handler.consumer_uuid
        if subscription_facet && sub_status
          @logger.debug "re-indexing content host #{subscription_facet.host.name}"
          subscription_facet.update_subscription_status(sub_status)
          subscription_facet.update_compliance_reasons(message_handler.consumer_reasons)
        elsif subscription_facet.nil?
          @logger.debug "skip re-indexing of non-existent content host #{uuid}"
        elsif sub_status.nil?
          @logger.debug "skip re-indexing of empty subscription status #{uuid}"
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
katello-3.8.1 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.7.1.1 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.7.1 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.8.0 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.8.0.rc3 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.8.0.rc2 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.7.0 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.8.0.rc1 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.7.0.rc2 app/lib/actions/candlepin/import_pool_handler.rb
katello-3.7.0.rc1 app/lib/actions/candlepin/import_pool_handler.rb