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