Class: Katello::Util::CVECFMigrator
- Inherits:
-
Object
- Object
- Katello::Util::CVECFMigrator
- Defined in:
- app/lib/katello/util/cvecf_migrator.rb
Overview
used in db/migrate/20220929204746_add_content_view_environment_content_facet.rb
Instance Method Summary collapse
Instance Method Details
#execute! ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/lib/katello/util/cvecf_migrator.rb', line 4 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 |