Sha256: 3b73dd52e6a79125e0bed5dab4349c9e94ef7180ec1a4dc4277f113407210b56

Contents?: true

Size: 1.33 KB

Versions: 6

Compression:

Stored size: 1.33 KB

Contents

module Actions
  module ForemanVirtWhoConfigure
    module Config
      class Report < Actions::EntryAction
        middleware.use Actions::Middleware::KeepCurrentUser

        def self.subscribe
          Actions::Katello::Host::HypervisorsUpdate
        end

        def plan(hypervisors)
          plan_self(:hypervisors => hypervisors) if User.current.try(:id)
        end

        def run
          # this is how we could do mapping to hypervisor hosts based on UUID provided by candelpin
          # input['hypervisors'].each do |hv_attrs|
          #   # should always exist, Actions::Katello::Host::HypervisorsUpdate should create it
          #   # but we should be careful anyway
          #   hypervisor = ::Host.joins(:subscription_facet).where(:'katello_subscription_facets.uuid' => hv_attrs['uuid']).first
          # end
          configs = ::ForemanVirtWhoConfigure::ServiceUser.find_by_user_id(User.current.id).try(:configs)
          configs&.each do |config|
            config.virt_who_touch!
          end

          # if config was not found, the report is coming from unknown virt-who reporter, we could create a notification
          # that this plugin can be used for configuration

          # this could be used for mapping to existing compute resource
          # config.hypervisor_server
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman_virt_who_configure-0.5.26 app/lib/actions/foreman_virt_who_configure/config/report.rb
foreman_virt_who_configure-0.5.25 app/lib/actions/foreman_virt_who_configure/config/report.rb
foreman_virt_who_configure-0.5.24 app/lib/actions/foreman_virt_who_configure/config/report.rb
foreman_virt_who_configure-0.5.23 app/lib/actions/foreman_virt_who_configure/config/report.rb
foreman_virt_who_configure-0.5.21 app/lib/actions/foreman_virt_who_configure/config/report.rb
foreman_virt_who_configure-0.5.20 app/lib/actions/foreman_virt_who_configure/config/report.rb