Sha256: 76793398efc538b69ee10862f3a1277d83b92e9bd9150788bd73b7406c57f43a

Contents?: true

Size: 1.34 KB

Versions: 41

Compression:

Stored size: 1.34 KB

Contents

module Actions
  module Katello
    module OrphanCleanup
      class RemoveOrphans < Actions::Base
        input_format do
          param :capsule_id
        end
        def plan(proxy)
          sequence do
            plan_action(Actions::Pulp::Orchestration::OrphanCleanup::RemoveOrphans, proxy) if (proxy.has_feature?(SmartProxy::PULP_FEATURE) || proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE))
            if proxy.pulp3_enabled?
              plan_action(
                Actions::Pulp3::Orchestration::OrphanCleanup::RemoveOrphans,
                proxy)
            end
            plan_self
          end
        end

        def run
          models = []
          ::Katello::RepositoryTypeManager.enabled_repository_types.each_value do |repo_type|
            indexable_types = repo_type.content_types_to_index
            models += indexable_types&.map(&:model_class)
            models.select! { |model| model.many_repository_associations }
          end
          models.each do |model|
            model.joins("left join katello_#{model.repository_association} on #{model.table_name}.id = katello_#{model.repository_association}.#{model.unit_id_field}").where("katello_#{model.repository_association}.#{model.unit_id_field} IS NULL").destroy_all
          end

          ::Katello::RootRepository.orphaned.destroy_all
        end
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
katello-4.7.6 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.5 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.4 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.3 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.6.2.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.6.2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.0 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.6.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.0.rc2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.7.0.rc1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.4.2.2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.4.2.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.4.2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.5.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.6.0 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.6.0.rc2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.6.0.rc1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.5.0 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb