Sha256: 54113bde7e3a906652fdeabb4ab1553430ef1bfaca74ad8573cd917496ececa2

Contents?: true

Size: 1.75 KB

Versions: 18

Compression:

Stored size: 1.75 KB

Contents

module Katello
  module Util
    class CVECFMigrator # used in db/migrate/20220929204746_add_content_view_environment_content_facet.rb
      def execute!
        hosts_with_no_cve = []
        hosts_with_missing_cve = []

        ::Host::Managed.all.each do |host|
          next if host.content_facet.blank?
          if ::Katello::ContentView.exists?(id: host.content_facet.content_view_id) && ::Katello::KTEnvironment.exists?(host.content_facet.lifecycle_environment_id)
            cve = ::Katello::ContentViewEnvironment.find_by(content_view_id: host.content_facet.content_view_id, environment_id: host.content_facet.lifecycle_environment_id)
            if cve.blank?
              hosts_with_no_cve << host
            end
          else
            hosts_with_missing_cve << host
          end
        end

        if hosts_with_missing_cve.present? || hosts_with_no_cve.present?
          Rails.logger.warn "Found #{hosts_with_no_cve.count} hosts whose lifecycle environment does not have a corresponding ContentViewEnvironment"
          Rails.logger.warn "Found #{hosts_with_missing_cve.count} hosts whose content facet is missing either content_view_id or lifecycle_environment_id"
          Rails.logger.info "You may want to change the content view / lifecycle environment for these hosts manually."
        end
        (hosts_with_no_cve + hosts_with_missing_cve).each do |host|
          default_content_view = host.organization.default_content_view
          library = host.organization.library
          Rails.logger.info "Updating host #{host.name} with default content_view_id and lifecycle_environment_id"
          host.content_facet&.update_columns(content_view_id: default_content_view&.id, lifecycle_environment_id: library&.id)
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
katello-4.15.0.rc2 app/lib/katello/util/cvecf_migrator.rb
katello-4.15.0.rc1 app/lib/katello/util/cvecf_migrator.rb
katello-4.14.1 app/lib/katello/util/cvecf_migrator.rb
katello-4.14.0 app/lib/katello/util/cvecf_migrator.rb
katello-4.14.0.rc3 app/lib/katello/util/cvecf_migrator.rb
katello-4.14.0.rc2 app/lib/katello/util/cvecf_migrator.rb
katello-4.14.0.rc1.1 app/lib/katello/util/cvecf_migrator.rb
katello-4.14.0.rc1 app/lib/katello/util/cvecf_migrator.rb
katello-4.13.1 app/lib/katello/util/cvecf_migrator.rb
katello-4.13.0 app/lib/katello/util/cvecf_migrator.rb
katello-4.12.1 app/lib/katello/util/cvecf_migrator.rb
katello-4.13.0.rc1 app/lib/katello/util/cvecf_migrator.rb
katello-4.12.0 app/lib/katello/util/cvecf_migrator.rb
katello-4.12.0.rc3 app/lib/katello/util/cvecf_migrator.rb
katello-4.12.0.rc2 app/lib/katello/util/cvecf_migrator.rb
katello-4.12.0.rc1 app/lib/katello/util/cvecf_migrator.rb
katello-4.11.1 app/lib/katello/util/cvecf_migrator.rb
katello-4.11.0 app/lib/katello/util/cvecf_migrator.rb