katello 4.18.1 → 4.19.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/locale/bn/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ca/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/cs/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +57 -108
- data/app/assets/javascripts/katello/locale/de/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/el/katello.js +57 -108
- data/app/assets/javascripts/katello/locale/en/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/en_US/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/es/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/fr/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/gl/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/gu/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/hi/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/id/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/it/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ja/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/ka/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/kn/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ko/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/mr/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/or/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pa/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pl/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pt/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +58 -109
- data/app/assets/javascripts/katello/locale/ro/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ru/katello.js +57 -108
- data/app/assets/javascripts/katello/locale/sl/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ta/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/te/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/tr/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/vi/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/zh/katello.js +56 -107
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +59 -110
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +57 -108
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +41 -12
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +3 -65
- data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_views_controller.rb +18 -3
- data/app/controllers/katello/api/v2/debs_controller.rb +21 -11
- data/app/controllers/katello/api/v2/docker_tags_controller.rb +7 -0
- data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +21 -19
- data/app/controllers/katello/api/v2/host_debs_controller.rb +16 -1
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +3 -60
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +10 -53
- data/app/controllers/katello/api/v2/repositories_controller.rb +0 -1
- data/app/controllers/katello/concerns/organizations_controller_extensions.rb +3 -0
- data/app/lib/actions/candlepin/activation_key/create.rb +0 -2
- data/app/lib/actions/candlepin/activation_key/update.rb +0 -2
- data/app/lib/actions/candlepin/product/content_create.rb +3 -5
- data/app/lib/actions/candlepin/product/content_update.rb +2 -3
- data/app/lib/actions/helpers/rolling_cv_repos.rb +1 -1
- data/app/lib/actions/katello/activation_key/create.rb +0 -1
- data/app/lib/actions/katello/activation_key/update.rb +0 -2
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -6
- data/app/lib/actions/katello/content_credential/update.rb +1 -1
- data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +18 -24
- data/app/lib/actions/katello/content_view/create.rb +9 -4
- data/app/lib/actions/katello/content_view/refresh_rolling_repo.rb +6 -1
- data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +16 -11
- data/app/lib/actions/katello/content_view/update.rb +34 -7
- data/app/lib/actions/katello/product/content_create.rb +2 -2
- data/app/lib/actions/katello/product/content_destroy.rb +1 -1
- data/app/lib/actions/katello/repository/check_matching_content.rb +1 -1
- data/app/lib/actions/katello/repository/clone_contents.rb +1 -1
- data/app/lib/actions/katello/repository/create.rb +1 -1
- data/app/lib/actions/katello/repository/destroy.rb +4 -4
- data/app/lib/actions/katello/repository/finish_upload.rb +1 -1
- data/app/lib/actions/katello/repository/sync.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +2 -2
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/multi_copy_all_units.rb +1 -1
- data/app/lib/actions/pulp3/repository/save_publication.rb +3 -1
- data/app/lib/actions/pulp3/repository/save_version.rb +45 -24
- data/app/lib/actions/pulp3/repository/save_versions.rb +2 -1
- data/app/lib/katello/resources/candlepin/activation_key.rb +3 -4
- data/app/lib/katello/resources/candlepin/upstream_job.rb +9 -1
- data/app/lib/katello/resources/candlepin.rb +4 -0
- data/app/models/katello/authorization/repository.rb +17 -4
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -7
- data/app/models/katello/content_view_deb_filter.rb +10 -0
- data/app/models/katello/content_view_deb_filter_rule.rb +7 -0
- data/app/models/katello/deb.rb +10 -10
- data/app/models/katello/erratum.rb +1 -1
- data/app/models/katello/glue/provider.rb +14 -3
- data/app/models/katello/host/content_facet.rb +1 -1
- data/app/models/katello/host/subscription_facet.rb +1 -7
- data/app/models/katello/product_content.rb +2 -2
- data/app/models/katello/repository.rb +4 -23
- data/app/models/katello/root_repository.rb +2 -5
- data/app/services/katello/candlepin/event_handler.rb +0 -33
- data/app/services/katello/candlepin/message_handler.rb +0 -41
- data/app/services/katello/content_unit_indexer.rb +59 -13
- data/app/services/katello/product_content_finder.rb +5 -4
- data/app/services/katello/pulp3/alternate_content_source.rb +2 -2
- data/app/services/katello/pulp3/ansible_collection.rb +1 -0
- data/app/services/katello/pulp3/api/content_guard.rb +5 -5
- data/app/services/katello/pulp3/api/core.rb +10 -0
- data/app/services/katello/pulp3/deb.rb +1 -0
- data/app/services/katello/pulp3/docker_manifest.rb +1 -0
- data/app/services/katello/pulp3/docker_manifest_list.rb +1 -0
- data/app/services/katello/pulp3/docker_tag.rb +1 -0
- data/app/services/katello/pulp3/file_unit.rb +1 -0
- data/app/services/katello/pulp3/generic_content_unit.rb +1 -0
- data/app/services/katello/pulp3/module_stream.rb +1 -0
- data/app/services/katello/pulp3/package_group.rb +1 -0
- data/app/services/katello/pulp3/repository/apt.rb +30 -13
- data/app/services/katello/pulp3/repository.rb +59 -10
- data/app/services/katello/pulp3/rpm.rb +3 -2
- data/app/services/katello/pulp3/srpm.rb +3 -2
- data/app/services/katello/pulp3/task_group.rb +1 -1
- data/app/services/katello/registration_manager.rb +19 -17
- data/app/services/katello/repository_type_manager.rb +7 -5
- data/app/services/katello/smart_proxy_helper.rb +1 -6
- data/app/views/foreman/job_templates/upload_profile.erb +5 -0
- data/app/views/katello/api/v2/activation_keys/base.json.rabl +1 -1
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
- data/app/views/katello/api/v2/debs/thindex.json.rabl +6 -0
- data/app/views/katello/api/v2/docker_tags/_base.json.rabl +32 -0
- data/app/views/katello/api/v2/docker_tags/show.json.rabl +0 -5
- data/app/views/katello/api/v2/flatpak_remotes/index.json.rabl +6 -0
- data/app/views/katello/api/v2/host_debs/installed_debs.json.rabl +6 -0
- data/app/views/katello/api/v2/hosts_bulk_actions/applicable_errata.json.rabl +1 -1
- data/app/views/katello/api/v2/hosts_bulk_actions/applicable_erratum.json.rabl +9 -0
- data/app/views/katello/api/v2/hosts_bulk_actions/installable_errata.json.rabl +1 -1
- data/app/views/katello/api/v2/hosts_bulk_actions/{erratum.json.rabl → installable_erratum.json.rabl} +3 -3
- data/app/views/katello/api/v2/subscription_facet/base.json.rabl +1 -1
- data/config/initializers/monkeys.rb +1 -0
- data/config/routes/api/v2.rb +2 -2
- data/config/routes/overrides.rb +2 -7
- data/config/routes.rb +2 -0
- data/db/migrate/20211019192121_create_cdn_configuration.katello.rb +1 -1
- data/db/migrate/20250912000000_add_pulp_prn_fields.rb +73 -0
- data/db/migrate/20250912000001_populate_pulp_prn_fields.rb +403 -0
- data/db/migrate/20251009142516_remove_auto_attach_from_activation_keys.rb +5 -0
- data/db/migrate/20251009142517_remove_autoheal_from_subscription_facets.rb +5 -0
- data/db/seeds.d/111-upgrade_tasks.rb +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +2 -2
- data/lib/katello/permission_creator.rb +2 -2
- data/lib/katello/permissions/host_permissions.rb +0 -6
- data/lib/katello/plugin.rb +16 -8
- data/lib/katello/tasks/jenkins.rake +1 -1
- data/lib/katello/tasks/upgrades/4.19/enable_structured_apt_for_deb.rake +87 -0
- data/lib/katello/tasks/upgrades/4.19/populate_repository_version_prns.rake +32 -0
- data/lib/katello/version.rb +1 -1
- data/lib/monkeys/fix_rpm_repository_gpgcheck.rb +38 -0
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +56 -107
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +56 -107
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +56 -107
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +56 -107
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +57 -108
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +58 -109
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +56 -107
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +56 -107
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +58 -109
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +56 -107
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +56 -107
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +56 -107
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +58 -109
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +56 -107
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +59 -110
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +56 -107
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +56 -107
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +56 -107
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +56 -107
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +56 -107
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +56 -107
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +59 -110
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +58 -109
- data/locale/katello.pot +676 -749
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +56 -107
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +59 -110
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +56 -107
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +56 -107
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +56 -107
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +56 -107
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +56 -107
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +56 -107
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +56 -107
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +56 -107
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +58 -109
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +56 -107
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +56 -107
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +57 -108
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +56 -107
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +56 -107
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +56 -107
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +56 -107
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +56 -107
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +56 -107
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +56 -107
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +56 -107
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +56 -107
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +59 -110
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +57 -108
- data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +2 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +0 -2
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +0 -2
- data/webpack/components/extensions/Hosts/ActionsBar/index.js +1 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkActionsConstants.js +7 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/BulkChangeHostCollectionsModal.js +388 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/__tests__/BulkChangeHostCollectionsModal.test.js +640 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/actions.js +28 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/index.js +71 -0
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/02_BulkPackagesTable.js +10 -3
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +51 -24
- data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +7 -0
- data/webpack/containers/Application/config.js +11 -1
- data/webpack/global_index.js +3 -0
- data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/BootedContainerImagesConstants.js +1 -1
- data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/BootedContainerImagesPage.js +7 -43
- data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/__tests__/bootedContainerImagesPage.test.js +1 -1
- data/webpack/scenes/ContainerImages/ContainerImagesPage.js +86 -0
- data/webpack/scenes/ContainerImages/LabelsAnnotationsModal.js +105 -0
- data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetails.js +218 -0
- data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetailsActions.js +15 -0
- data/webpack/scenes/ContainerImages/Synced/Details/ManifestDetailsSelectors.js +16 -0
- data/webpack/scenes/ContainerImages/Synced/Details/__tests__/ManifestDetails.test.js +395 -0
- data/webpack/scenes/ContainerImages/Synced/Details/__tests__/manifestDetails.fixtures.json +43 -0
- data/webpack/scenes/ContainerImages/Synced/Details/__tests__/manifestList.fixtures.json +58 -0
- data/webpack/scenes/ContainerImages/Synced/Details/index.js +4 -0
- data/webpack/scenes/ContainerImages/Synced/SyncedContainerImagesPage.js +359 -0
- data/webpack/scenes/ContainerImages/Synced/SyncedContainerImagesPage.scss +21 -0
- data/webpack/scenes/ContainerImages/Synced/__tests__/LabelsAnnotationsModal.test.js +69 -0
- data/webpack/scenes/ContainerImages/Synced/__tests__/SyncedContainerImagesPage.test.js +335 -0
- data/webpack/scenes/ContainerImages/Synced/__tests__/syncedContainerImages.fixtures.json +105 -0
- data/webpack/scenes/ContainerImages/TableEmptyState.js +67 -0
- data/webpack/scenes/ContainerImages/containerImagesHelpers.js +48 -0
- data/webpack/scenes/ContainerImages/index.js +4 -0
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +29 -3
- data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +45 -1
- data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +0 -1
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +59 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +164 -24
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVDebFilterContent.test.js +268 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvDebFilterDetail.fixtures.json +95 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvDebFilterRules.fixtures.json +31 -0
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/emptyCVDebFilterRules.fixtures.json +10 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +0 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedHosts.fixture.json +0 -1
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +15 -0
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +9 -0
- data/webpack/scenes/FlatpakRemotes/CreateEdit/CreateFlatpakRemoteModal.js +5 -3
- data/webpack/scenes/FlatpakRemotes/CreateEdit/EditFlatpakRemotesModal.js +1 -1
- data/webpack/scenes/FlatpakRemotes/CreateEdit/FlatpakRemoteform.js +35 -3
- data/webpack/scenes/FlatpakRemotes/Details/FlatpakRemoteDetails.js +1 -1
- data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.css +3 -0
- data/webpack/scenes/FlatpakRemotes/Details/RemoteRepositories/RemoteRepositoriesTable.js +63 -132
- data/webpack/scenes/FlatpakRemotes/FlatpakRemotesPage.js +67 -143
- data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +10 -2
- data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +13 -2
- data/webpack/scenes/SmartProxy/SmartProxyContentConstants.js +1 -0
- data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +8 -2
- data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +67 -1
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +2 -2
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +0 -2
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +2 -2
- metadata +83 -55
- data/app/lib/actions/katello/host/attach_subscriptions.rb +0 -59
- data/app/lib/actions/katello/host/auto_attach_subscriptions.rb +0 -22
- data/app/lib/actions/katello/host/remove_subscriptions.rb +0 -50
- data/app/lib/actions/katello/organization/simple_content_access/disable.rb +0 -25
- data/app/lib/actions/katello/organization/simple_content_access/enable.rb +0 -25
- data/app/lib/actions/katello/organization/simple_content_access/toggle.rb +0 -42
- data/lib/katello/tasks/migrate_structure_content_for_deb.rake +0 -105
- data/lib/katello/tasks/upgrades/4.2/remove_checksum_values.rake +0 -17
- data/locale/action_names.rb +0 -186
- /data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/__tests__/bootedContainerImages.fixtures.js +0 -0
- /data/webpack/scenes/{BootedContainerImages → ContainerImages/Booted}/index.js +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
class AddPulpPrnFields < ActiveRecord::Migration[7.0]
|
|
2
|
+
# rubocop:disable Metrics/MethodLength
|
|
3
|
+
def up
|
|
4
|
+
# Tables with pulp_href fields - add pulp_prn field
|
|
5
|
+
add_column :katello_content_guards, :pulp_prn, :string
|
|
6
|
+
|
|
7
|
+
# Tables with pulp_id fields - add pulp_prn field
|
|
8
|
+
add_column :katello_ansible_collections, :pulp_prn, :string
|
|
9
|
+
add_column :katello_generic_content_units, :pulp_prn, :string
|
|
10
|
+
add_column :katello_module_streams, :pulp_prn, :string
|
|
11
|
+
add_column :katello_docker_manifest_lists, :pulp_prn, :string
|
|
12
|
+
add_column :katello_docker_manifests, :pulp_prn, :string
|
|
13
|
+
add_column :katello_docker_tags, :pulp_prn, :string
|
|
14
|
+
add_column :katello_rpms, :pulp_prn, :string
|
|
15
|
+
add_column :katello_srpms, :pulp_prn, :string
|
|
16
|
+
add_column :katello_files, :pulp_prn, :string # FileUnit uses table_name 'katello_files'
|
|
17
|
+
add_column :katello_package_groups, :pulp_prn, :string
|
|
18
|
+
add_column :katello_debs, :pulp_prn, :string
|
|
19
|
+
|
|
20
|
+
# Tables with other href fields - add corresponding _prn fields
|
|
21
|
+
add_column :katello_repositories, :remote_prn, :string
|
|
22
|
+
add_column :katello_repositories, :publication_prn, :string
|
|
23
|
+
add_column :katello_repositories, :version_prn, :string
|
|
24
|
+
add_column :katello_distribution_references, :prn, :string
|
|
25
|
+
add_column :katello_distribution_references, :content_guard_prn, :string
|
|
26
|
+
add_column :katello_repository_references, :repository_prn, :string
|
|
27
|
+
add_column :katello_repository_errata, :erratum_prn, :string
|
|
28
|
+
add_column :katello_smart_proxy_alternate_content_sources, :remote_prn, :string
|
|
29
|
+
add_column :katello_smart_proxy_alternate_content_sources, :alternate_content_source_prn, :string
|
|
30
|
+
|
|
31
|
+
# Add indexes for performance on commonly queried fields
|
|
32
|
+
add_index :katello_content_guards, :pulp_prn
|
|
33
|
+
add_index :katello_repositories, :remote_prn
|
|
34
|
+
add_index :katello_repositories, :publication_prn
|
|
35
|
+
add_index :katello_repositories, :version_prn
|
|
36
|
+
add_index :katello_repository_errata, :erratum_prn
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def down
|
|
40
|
+
# Remove indexes
|
|
41
|
+
remove_index :katello_content_guards, :pulp_prn
|
|
42
|
+
remove_index :katello_repositories, :remote_prn
|
|
43
|
+
remove_index :katello_repositories, :publication_prn
|
|
44
|
+
remove_index :katello_repositories, :version_prn
|
|
45
|
+
remove_index :katello_repository_errata, :erratum_prn
|
|
46
|
+
|
|
47
|
+
# Remove columns - pulp_prn fields
|
|
48
|
+
remove_column :katello_content_guards, :pulp_prn
|
|
49
|
+
remove_column :katello_ansible_collections, :pulp_prn
|
|
50
|
+
remove_column :katello_generic_content_units, :pulp_prn
|
|
51
|
+
remove_column :katello_module_streams, :pulp_prn
|
|
52
|
+
remove_column :katello_docker_manifest_lists, :pulp_prn
|
|
53
|
+
remove_column :katello_docker_manifests, :pulp_prn
|
|
54
|
+
remove_column :katello_docker_tags, :pulp_prn
|
|
55
|
+
remove_column :katello_rpms, :pulp_prn
|
|
56
|
+
remove_column :katello_srpms, :pulp_prn
|
|
57
|
+
remove_column :katello_files, :pulp_prn
|
|
58
|
+
remove_column :katello_package_groups, :pulp_prn
|
|
59
|
+
remove_column :katello_debs, :pulp_prn
|
|
60
|
+
|
|
61
|
+
# Remove columns - other _prn fields
|
|
62
|
+
remove_column :katello_repositories, :remote_prn
|
|
63
|
+
remove_column :katello_repositories, :publication_prn
|
|
64
|
+
remove_column :katello_repositories, :version_prn
|
|
65
|
+
remove_column :katello_distribution_references, :prn
|
|
66
|
+
remove_column :katello_distribution_references, :content_guard_prn
|
|
67
|
+
remove_column :katello_repository_references, :repository_prn
|
|
68
|
+
remove_column :katello_repository_errata, :erratum_prn
|
|
69
|
+
remove_column :katello_smart_proxy_alternate_content_sources, :remote_prn
|
|
70
|
+
remove_column :katello_smart_proxy_alternate_content_sources, :alternate_content_source_prn
|
|
71
|
+
end
|
|
72
|
+
# rubocop:enable Metrics/MethodLength
|
|
73
|
+
end
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/ClassLength
|
|
2
|
+
class PopulatePulpPrnFields < ActiveRecord::Migration[7.0]
|
|
3
|
+
def up
|
|
4
|
+
# Content Guards - RHSM cert guards
|
|
5
|
+
Katello::Pulp3::ContentGuard.where.not(pulp_href: nil).update_all(
|
|
6
|
+
"pulp_prn = CASE
|
|
7
|
+
WHEN pulp_href ~ '/contentguards/certguard/rhsm/' THEN
|
|
8
|
+
'prn:certguard.rhsmcertguard:' ||
|
|
9
|
+
regexp_replace(pulp_href, '^.*/([^/]+)/?$', '\\1')
|
|
10
|
+
ELSE NULL
|
|
11
|
+
END"
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
# Repositories - remote_prn
|
|
15
|
+
Katello::Repository.where.not(remote_href: nil).update_all(
|
|
16
|
+
"remote_prn = CASE
|
|
17
|
+
WHEN remote_href ~ '/remotes/rpm/rpm/' THEN
|
|
18
|
+
'prn:rpm.rpmremote:' ||
|
|
19
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
20
|
+
WHEN remote_href ~ '/remotes/rpm/uln/' THEN
|
|
21
|
+
'prn:rpm.ulnremote:' ||
|
|
22
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
23
|
+
WHEN remote_href ~ '/remotes/deb/apt/' THEN
|
|
24
|
+
'prn:deb.aptremote:' ||
|
|
25
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
26
|
+
WHEN remote_href ~ '/remotes/container/container/' THEN
|
|
27
|
+
'prn:container.containerremote:' ||
|
|
28
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
29
|
+
WHEN remote_href ~ '/remotes/ansible/collection/' THEN
|
|
30
|
+
'prn:ansible.collectionremote:' ||
|
|
31
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
32
|
+
WHEN remote_href ~ '/remotes/python/python/' THEN
|
|
33
|
+
'prn:python.pythonremote:' ||
|
|
34
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
35
|
+
WHEN remote_href ~ '/remotes/file/file/' THEN
|
|
36
|
+
'prn:file.fileremote:' ||
|
|
37
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
38
|
+
WHEN remote_href ~ '/remotes/ostree/ostree/' THEN
|
|
39
|
+
'prn:ostree.ostreeremote:' ||
|
|
40
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
41
|
+
ELSE NULL
|
|
42
|
+
END"
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
# Repositories - publication_prn
|
|
46
|
+
Katello::Repository.where.not(publication_href: nil).update_all(
|
|
47
|
+
"publication_prn = CASE
|
|
48
|
+
WHEN publication_href ~ '/publications/rpm/rpm/' THEN
|
|
49
|
+
'prn:rpm.rpmpublication:' ||
|
|
50
|
+
regexp_replace(publication_href, '^.*/([^/]+)/?$', '\\1')
|
|
51
|
+
WHEN publication_href ~ '/publications/deb/apt/' THEN
|
|
52
|
+
'prn:deb.aptpublication:' ||
|
|
53
|
+
regexp_replace(publication_href, '^.*/([^/]+)/?$', '\\1')
|
|
54
|
+
WHEN publication_href ~ '/publications/container/container/' THEN
|
|
55
|
+
'prn:container.containerpublication:' ||
|
|
56
|
+
regexp_replace(publication_href, '^.*/([^/]+)/?$', '\\1')
|
|
57
|
+
WHEN publication_href ~ '/publications/ansible/ansible/' THEN
|
|
58
|
+
'prn:ansible.ansiblepublication:' ||
|
|
59
|
+
regexp_replace(publication_href, '^.*/([^/]+)/?$', '\\1')
|
|
60
|
+
WHEN publication_href ~ '/publications/python/pypi/' THEN
|
|
61
|
+
'prn:python.pythonpublication:' ||
|
|
62
|
+
regexp_replace(publication_href, '^.*/([^/]+)/?$', '\\1')
|
|
63
|
+
WHEN publication_href ~ '/publications/file/file/' THEN
|
|
64
|
+
'prn:file.filepublication:' ||
|
|
65
|
+
regexp_replace(publication_href, '^.*/([^/]+)/?$', '\\1')
|
|
66
|
+
ELSE NULL
|
|
67
|
+
END"
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
# Ansible Collections - Process in batches due to potentially large number of records
|
|
71
|
+
Katello::AnsibleCollection.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
72
|
+
batch.update_all(
|
|
73
|
+
"pulp_prn = CASE
|
|
74
|
+
WHEN pulp_id ~ '/content/ansible/collection_versions/' THEN
|
|
75
|
+
'prn:ansible.collectionversion:' ||
|
|
76
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
77
|
+
ELSE NULL
|
|
78
|
+
END"
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Generic Content Units - Process in batches due to potentially large number of records
|
|
83
|
+
Katello::GenericContentUnit.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
84
|
+
batch.update_all(
|
|
85
|
+
"pulp_prn = CASE
|
|
86
|
+
WHEN pulp_id ~ '/content/python/packages/' THEN
|
|
87
|
+
'prn:python.pythonpackagecontent:' ||
|
|
88
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
89
|
+
WHEN pulp_id ~ '/content/ostree/refs/' THEN
|
|
90
|
+
'prn:ostree.ostreeref:' ||
|
|
91
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
92
|
+
ELSE NULL
|
|
93
|
+
END"
|
|
94
|
+
)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Module Streams - Process in batches due to potentially large number of records
|
|
98
|
+
Katello::ModuleStream.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
99
|
+
batch.update_all(
|
|
100
|
+
"pulp_prn = CASE
|
|
101
|
+
WHEN pulp_id ~ '/content/rpm/modulemds/' THEN
|
|
102
|
+
'prn:rpm.modulemd:' ||
|
|
103
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
104
|
+
ELSE NULL
|
|
105
|
+
END"
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Docker Manifest Lists - Process in batches due to potentially large number of records
|
|
110
|
+
Katello::DockerManifestList.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
111
|
+
batch.update_all(
|
|
112
|
+
"pulp_prn = CASE
|
|
113
|
+
WHEN pulp_id ~ '/content/container/manifests/' THEN
|
|
114
|
+
'prn:container.manifest:' ||
|
|
115
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
116
|
+
ELSE NULL
|
|
117
|
+
END"
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Docker Manifests - Process in batches due to potentially large number of records
|
|
122
|
+
Katello::DockerManifest.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
123
|
+
batch.update_all(
|
|
124
|
+
"pulp_prn = CASE
|
|
125
|
+
WHEN pulp_id ~ '/content/container/manifests/' THEN
|
|
126
|
+
'prn:container.manifest:' ||
|
|
127
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
128
|
+
ELSE NULL
|
|
129
|
+
END"
|
|
130
|
+
)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Docker Tags - Process in batches due to potentially large number of records
|
|
134
|
+
Katello::DockerTag.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
135
|
+
batch.update_all(
|
|
136
|
+
"pulp_prn = CASE
|
|
137
|
+
WHEN pulp_id ~ '/content/container/tags/' THEN
|
|
138
|
+
'prn:container.tag:' ||
|
|
139
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
140
|
+
ELSE NULL
|
|
141
|
+
END"
|
|
142
|
+
)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# RPMs - Process in batches due to potentially millions of records
|
|
146
|
+
Katello::Rpm.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
147
|
+
batch.update_all(
|
|
148
|
+
"pulp_prn = CASE
|
|
149
|
+
WHEN pulp_id ~ '/content/rpm/packages/' THEN
|
|
150
|
+
'prn:rpm.package:' ||
|
|
151
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
152
|
+
ELSE NULL
|
|
153
|
+
END"
|
|
154
|
+
)
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# SRPMs - Process in batches due to potentially large number of records
|
|
158
|
+
Katello::Srpm.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
159
|
+
batch.update_all(
|
|
160
|
+
"pulp_prn = CASE
|
|
161
|
+
WHEN pulp_id ~ '/content/rpm/packages/' THEN
|
|
162
|
+
'prn:rpm.package:' ||
|
|
163
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
164
|
+
ELSE NULL
|
|
165
|
+
END"
|
|
166
|
+
)
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# Files (FileUnit uses table_name 'katello_files') - Process in batches due to potentially large number of records
|
|
170
|
+
Katello::FileUnit.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
171
|
+
batch.update_all(
|
|
172
|
+
"pulp_prn = CASE
|
|
173
|
+
WHEN pulp_id ~ '/content/file/files/' THEN
|
|
174
|
+
'prn:file.filecontent:' ||
|
|
175
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
176
|
+
ELSE NULL
|
|
177
|
+
END"
|
|
178
|
+
)
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
# Package Groups - Process in batches due to potentially large number of records
|
|
182
|
+
Katello::PackageGroup.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
183
|
+
batch.update_all(
|
|
184
|
+
"pulp_prn = CASE
|
|
185
|
+
WHEN pulp_id ~ '/content/rpm/packagegroups/' THEN
|
|
186
|
+
'prn:rpm.packagegroup:' ||
|
|
187
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
188
|
+
ELSE NULL
|
|
189
|
+
END"
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
# Debs - Process in batches due to potentially large number of records
|
|
194
|
+
Katello::Deb.where.not(pulp_id: nil).in_batches(of: 10_000) do |batch|
|
|
195
|
+
batch.update_all(
|
|
196
|
+
"pulp_prn = CASE
|
|
197
|
+
WHEN pulp_id ~ '/content/deb/packages/' THEN
|
|
198
|
+
'prn:deb.package:' ||
|
|
199
|
+
regexp_replace(pulp_id, '^.*/([^/]+)/?$', '\\1')
|
|
200
|
+
ELSE NULL
|
|
201
|
+
END"
|
|
202
|
+
)
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
# Distribution References - prn
|
|
206
|
+
Katello::Pulp3::DistributionReference.where.not(href: nil).update_all(
|
|
207
|
+
"prn = CASE
|
|
208
|
+
WHEN href ~ '/distributions/rpm/rpm/' THEN
|
|
209
|
+
'prn:rpm.rpmdistribution:' ||
|
|
210
|
+
regexp_replace(href, '^.*/([^/]+)/?$', '\\1')
|
|
211
|
+
WHEN href ~ '/distributions/deb/apt/' THEN
|
|
212
|
+
'prn:deb.aptdistribution:' ||
|
|
213
|
+
regexp_replace(href, '^.*/([^/]+)/?$', '\\1')
|
|
214
|
+
WHEN href ~ '/distributions/container/container/' THEN
|
|
215
|
+
'prn:container.containerdistribution:' ||
|
|
216
|
+
regexp_replace(href, '^.*/([^/]+)/?$', '\\1')
|
|
217
|
+
WHEN href ~ '/distributions/ansible/ansible/' THEN
|
|
218
|
+
'prn:ansible.ansibledistribution:' ||
|
|
219
|
+
regexp_replace(href, '^.*/([^/]+)/?$', '\\1')
|
|
220
|
+
WHEN href ~ '/distributions/python/pypi/' THEN
|
|
221
|
+
'prn:python.pythondistribution:' ||
|
|
222
|
+
regexp_replace(href, '^.*/([^/]+)/?$', '\\1')
|
|
223
|
+
WHEN href ~ '/distributions/file/file/' THEN
|
|
224
|
+
'prn:file.filedistribution:' ||
|
|
225
|
+
regexp_replace(href, '^.*/([^/]+)/?$', '\\1')
|
|
226
|
+
WHEN href ~ '/distributions/ostree/ostree/' THEN
|
|
227
|
+
'prn:ostree.ostreedistribution:' ||
|
|
228
|
+
regexp_replace(href, '^.*/([^/]+)/?$', '\\1')
|
|
229
|
+
ELSE NULL
|
|
230
|
+
END"
|
|
231
|
+
)
|
|
232
|
+
|
|
233
|
+
# Distribution References - content_guard_prn
|
|
234
|
+
Katello::Pulp3::DistributionReference.where.not(content_guard_href: nil).update_all(
|
|
235
|
+
"content_guard_prn = CASE
|
|
236
|
+
WHEN content_guard_href ~ '/contentguards/certguard/rhsm/' THEN
|
|
237
|
+
'prn:certguard.rhsmcertguard:' ||
|
|
238
|
+
regexp_replace(content_guard_href, '^.*/([^/]+)/?$', '\\1')
|
|
239
|
+
ELSE NULL
|
|
240
|
+
END"
|
|
241
|
+
)
|
|
242
|
+
|
|
243
|
+
# Repository References - repository_prn
|
|
244
|
+
Katello::Pulp3::RepositoryReference.where.not(repository_href: nil).update_all(
|
|
245
|
+
"repository_prn = CASE
|
|
246
|
+
WHEN repository_href ~ '/repositories/rpm/rpm/' THEN
|
|
247
|
+
'prn:rpm.rpmrepository:' ||
|
|
248
|
+
regexp_replace(repository_href, '^.*/([^/]+)/?$', '\\1')
|
|
249
|
+
WHEN repository_href ~ '/repositories/deb/apt/' THEN
|
|
250
|
+
'prn:deb.aptrepository:' ||
|
|
251
|
+
regexp_replace(repository_href, '^.*/([^/]+)/?$', '\\1')
|
|
252
|
+
WHEN repository_href ~ '/repositories/container/container/' THEN
|
|
253
|
+
'prn:container.containerrepository:' ||
|
|
254
|
+
regexp_replace(repository_href, '^.*/([^/]+)/?$', '\\1')
|
|
255
|
+
WHEN repository_href ~ '/repositories/ansible/ansible/' THEN
|
|
256
|
+
'prn:ansible.ansiblerepository:' ||
|
|
257
|
+
regexp_replace(repository_href, '^.*/([^/]+)/?$', '\\1')
|
|
258
|
+
WHEN repository_href ~ '/repositories/python/python/' THEN
|
|
259
|
+
'prn:python.pythonrepository:' ||
|
|
260
|
+
regexp_replace(repository_href, '^.*/([^/]+)/?$', '\\1')
|
|
261
|
+
WHEN repository_href ~ '/repositories/file/file/' THEN
|
|
262
|
+
'prn:file.filerepository:' ||
|
|
263
|
+
regexp_replace(repository_href, '^.*/([^/]+)/?$', '\\1')
|
|
264
|
+
WHEN repository_href ~ '/repositories/ostree/ostree/' THEN
|
|
265
|
+
'prn:ostree.ostreerepository:' ||
|
|
266
|
+
regexp_replace(repository_href, '^.*/([^/]+)/?$', '\\1')
|
|
267
|
+
ELSE NULL
|
|
268
|
+
END"
|
|
269
|
+
)
|
|
270
|
+
|
|
271
|
+
# Repository Errata - erratum_prn
|
|
272
|
+
Katello::RepositoryErratum.where.not(erratum_pulp3_href: nil).update_all(
|
|
273
|
+
"erratum_prn = CASE
|
|
274
|
+
WHEN erratum_pulp3_href ~ '/content/rpm/advisories/' THEN
|
|
275
|
+
'prn:rpm.updaterecord:' ||
|
|
276
|
+
regexp_replace(erratum_pulp3_href, '^.*/([^/]+)/?$', '\\1')
|
|
277
|
+
ELSE NULL
|
|
278
|
+
END"
|
|
279
|
+
)
|
|
280
|
+
|
|
281
|
+
# Smart Proxy Alternate Content Sources - remote_prn
|
|
282
|
+
Katello::SmartProxyAlternateContentSource.where.not(remote_href: nil).update_all(
|
|
283
|
+
"remote_prn = CASE
|
|
284
|
+
WHEN remote_href ~ '/remotes/rpm/rpm/' THEN
|
|
285
|
+
'prn:rpm.rpmremote:' ||
|
|
286
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
287
|
+
WHEN remote_href ~ '/remotes/rpm/uln/' THEN
|
|
288
|
+
'prn:rpm.ulnremote:' ||
|
|
289
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
290
|
+
WHEN remote_href ~ '/remotes/deb/apt/' THEN
|
|
291
|
+
'prn:deb.aptremote:' ||
|
|
292
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
293
|
+
WHEN remote_href ~ '/remotes/container/container/' THEN
|
|
294
|
+
'prn:container.containerremote:' ||
|
|
295
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
296
|
+
WHEN remote_href ~ '/remotes/ansible/collection/' THEN
|
|
297
|
+
'prn:ansible.collectionremote:' ||
|
|
298
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
299
|
+
WHEN remote_href ~ '/remotes/python/python/' THEN
|
|
300
|
+
'prn:python.pythonremote:' ||
|
|
301
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
302
|
+
WHEN remote_href ~ '/remotes/file/file/' THEN
|
|
303
|
+
'prn:file.fileremote:' ||
|
|
304
|
+
regexp_replace(remote_href, '^.*/([^/]+)/?$', '\\1')
|
|
305
|
+
ELSE NULL
|
|
306
|
+
END"
|
|
307
|
+
)
|
|
308
|
+
|
|
309
|
+
# Smart Proxy Alternate Content Sources - alternate_content_source_prn
|
|
310
|
+
Katello::SmartProxyAlternateContentSource.where.not(alternate_content_source_href: nil).update_all(
|
|
311
|
+
"alternate_content_source_prn = CASE
|
|
312
|
+
WHEN alternate_content_source_href ~ '/acs/rpm/rpm/' THEN
|
|
313
|
+
'prn:rpm.rpmalternatecontentsource:' ||
|
|
314
|
+
regexp_replace(alternate_content_source_href, '^.*/([^/]+)/?$', '\\1')
|
|
315
|
+
WHEN alternate_content_source_href ~ '/acs/file/file/' THEN
|
|
316
|
+
'prn:file.filealternatecontentsource:' ||
|
|
317
|
+
regexp_replace(alternate_content_source_href, '^.*/([^/]+)/?$', '\\1')
|
|
318
|
+
ELSE NULL
|
|
319
|
+
END"
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
# # Add NOT NULL constraints to PRN fields that correspond to required href fields
|
|
323
|
+
# # These constraints match the NOT NULL constraints on their corresponding href fields
|
|
324
|
+
# change_column_null :katello_content_guards, :pulp_prn, false
|
|
325
|
+
# change_column_null :katello_repository_references, :repository_prn, false
|
|
326
|
+
#
|
|
327
|
+
# # Add NOT NULL constraints to all pulp_prn fields for content tables
|
|
328
|
+
# change_column_null :katello_ansible_collections, :pulp_prn, false
|
|
329
|
+
# change_column_null :katello_generic_content_units, :pulp_prn, false
|
|
330
|
+
# change_column_null :katello_module_streams, :pulp_prn, false
|
|
331
|
+
# change_column_null :katello_docker_manifest_lists, :pulp_prn, false
|
|
332
|
+
# change_column_null :katello_docker_manifests, :pulp_prn, false
|
|
333
|
+
# change_column_null :katello_docker_tags, :pulp_prn, false
|
|
334
|
+
# change_column_null :katello_rpms, :pulp_prn, false
|
|
335
|
+
# change_column_null :katello_srpms, :pulp_prn, false
|
|
336
|
+
# change_column_null :katello_files, :pulp_prn, false
|
|
337
|
+
# change_column_null :katello_package_groups, :pulp_prn, false
|
|
338
|
+
# change_column_null :katello_debs, :pulp_prn, false
|
|
339
|
+
#
|
|
340
|
+
# # Add unique indexes for all pulp_prn fields for content tables
|
|
341
|
+
# add_index :katello_ansible_collections, :pulp_prn, unique: true
|
|
342
|
+
# add_index :katello_generic_content_units, :pulp_prn, unique: true
|
|
343
|
+
# add_index :katello_module_streams, :pulp_prn, unique: true
|
|
344
|
+
# add_index :katello_docker_manifest_lists, :pulp_prn, unique: true
|
|
345
|
+
# add_index :katello_docker_manifests, :pulp_prn, unique: true
|
|
346
|
+
# add_index :katello_docker_tags, :pulp_prn, unique: true
|
|
347
|
+
# add_index :katello_rpms, :pulp_prn, unique: true
|
|
348
|
+
# add_index :katello_srpms, :pulp_prn, unique: true
|
|
349
|
+
# add_index :katello_files, :pulp_prn, unique: true
|
|
350
|
+
# add_index :katello_package_groups, :pulp_prn, unique: true
|
|
351
|
+
# add_index :katello_debs, :pulp_prn, unique: true
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
def down
|
|
355
|
+
# # Remove unique indexes before clearing data
|
|
356
|
+
# remove_index :katello_ansible_collections, :pulp_prn
|
|
357
|
+
# remove_index :katello_generic_content_units, :pulp_prn
|
|
358
|
+
# remove_index :katello_module_streams, :pulp_prn
|
|
359
|
+
# remove_index :katello_docker_manifest_lists, :pulp_prn
|
|
360
|
+
# remove_index :katello_docker_manifests, :pulp_prn
|
|
361
|
+
# remove_index :katello_docker_tags, :pulp_prn
|
|
362
|
+
# remove_index :katello_rpms, :pulp_prn
|
|
363
|
+
# remove_index :katello_srpms, :pulp_prn
|
|
364
|
+
# remove_index :katello_files, :pulp_prn
|
|
365
|
+
# remove_index :katello_package_groups, :pulp_prn
|
|
366
|
+
# remove_index :katello_debs, :pulp_prn
|
|
367
|
+
#
|
|
368
|
+
# # Remove NOT NULL constraints before clearing data
|
|
369
|
+
# change_column_null :katello_content_guards, :pulp_prn, true
|
|
370
|
+
# change_column_null :katello_repository_references, :repository_prn, true
|
|
371
|
+
# change_column_null :katello_ansible_collections, :pulp_prn, true
|
|
372
|
+
# change_column_null :katello_generic_content_units, :pulp_prn, true
|
|
373
|
+
# change_column_null :katello_module_streams, :pulp_prn, true
|
|
374
|
+
# change_column_null :katello_docker_manifest_lists, :pulp_prn, true
|
|
375
|
+
# change_column_null :katello_docker_manifests, :pulp_prn, true
|
|
376
|
+
# change_column_null :katello_docker_tags, :pulp_prn, true
|
|
377
|
+
# change_column_null :katello_rpms, :pulp_prn, true
|
|
378
|
+
# change_column_null :katello_srpms, :pulp_prn, true
|
|
379
|
+
# change_column_null :katello_files, :pulp_prn, true
|
|
380
|
+
# change_column_null :katello_package_groups, :pulp_prn, true
|
|
381
|
+
# change_column_null :katello_debs, :pulp_prn, true
|
|
382
|
+
|
|
383
|
+
# Clear all PRN fields
|
|
384
|
+
execute "UPDATE katello_content_guards SET pulp_prn = NULL"
|
|
385
|
+
execute "UPDATE katello_repositories SET remote_prn = NULL, publication_prn = NULL, version_prn = NULL"
|
|
386
|
+
execute "UPDATE katello_ansible_collections SET pulp_prn = NULL"
|
|
387
|
+
execute "UPDATE katello_generic_content_units SET pulp_prn = NULL"
|
|
388
|
+
execute "UPDATE katello_module_streams SET pulp_prn = NULL"
|
|
389
|
+
execute "UPDATE katello_docker_manifest_lists SET pulp_prn = NULL"
|
|
390
|
+
execute "UPDATE katello_docker_manifests SET pulp_prn = NULL"
|
|
391
|
+
execute "UPDATE katello_docker_tags SET pulp_prn = NULL"
|
|
392
|
+
execute "UPDATE katello_rpms SET pulp_prn = NULL"
|
|
393
|
+
execute "UPDATE katello_srpms SET pulp_prn = NULL"
|
|
394
|
+
execute "UPDATE katello_files SET pulp_prn = NULL"
|
|
395
|
+
execute "UPDATE katello_package_groups SET pulp_prn = NULL"
|
|
396
|
+
execute "UPDATE katello_debs SET pulp_prn = NULL"
|
|
397
|
+
execute "UPDATE katello_distribution_references SET prn = NULL, content_guard_prn = NULL"
|
|
398
|
+
execute "UPDATE katello_repository_references SET repository_prn = NULL"
|
|
399
|
+
execute "UPDATE katello_repository_errata SET erratum_prn = NULL"
|
|
400
|
+
execute "UPDATE katello_smart_proxy_alternate_content_sources SET remote_prn = NULL, alternate_content_source_prn = NULL"
|
|
401
|
+
end
|
|
402
|
+
end
|
|
403
|
+
# rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Metrics/ClassLength
|
|
@@ -11,5 +11,7 @@ UpgradeTask.define_tasks(:katello) do
|
|
|
11
11
|
{:name => 'katello:upgrades:4.8:fix_incorrect_providers'},
|
|
12
12
|
{:name => 'katello:upgrades:4.8:regenerate_imported_repository_metadata'},
|
|
13
13
|
{:name => 'katello:upgrades:4.12:update_content_access_modes'},
|
|
14
|
+
{:name => 'katello:upgrades:4.19:populate_repository_version_prns'},
|
|
15
|
+
{:name => 'katello:upgrades:4.19:enable_structured_apt_for_deb', :long_running => true, :skip_failure => true},
|
|
14
16
|
]
|
|
15
17
|
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Translators:
|
|
3
|
-
# Efstathios Iosifidis <
|
|
3
|
+
# Efstathios Iosifidis <eiosifidis@gmail.com>, 2023
|
|
4
4
|
#
|
|
5
5
|
msgid ""
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: \n"
|
|
8
|
-
"Last-Translator: Efstathios Iosifidis <
|
|
8
|
+
"Last-Translator: Efstathios Iosifidis <eiosifidis@gmail.com>, 2023\n"
|
|
9
9
|
"Language-Team: Greek (https://app.transifex.com/foreman/teams/114/el/)\n"
|
|
10
10
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
11
11
|
"Content-Transfer-Encoding: 8bit\n"
|
|
@@ -38,7 +38,6 @@ module Katello
|
|
|
38
38
|
@plugin.permission :edit_activation_keys,
|
|
39
39
|
{
|
|
40
40
|
'katello/api/v2/activation_keys' => [:update, :content_override,
|
|
41
|
-
:add_subscriptions, :remove_subscriptions,
|
|
42
41
|
:add_host_collections, :remove_host_collections],
|
|
43
42
|
},
|
|
44
43
|
:resource_type => 'Katello::ActivationKey',
|
|
@@ -254,7 +253,7 @@ module Katello
|
|
|
254
253
|
'katello/api/v2/repositories' => [:index, :show, :repository_types, :content_types, :auto_complete_search, :cancel],
|
|
255
254
|
'katello/api/v2/packages' => [:index, :thindex, :show, :auto_complete_search, :auto_complete_name, :auto_complete_arch, :compare],
|
|
256
255
|
'katello/api/v2/srpms' => [:index, :show, :auto_complete_search, :compare],
|
|
257
|
-
'katello/api/v2/debs' => [:index, :show, :auto_complete_search, :auto_complete_name, :auto_complete_arch, :compare],
|
|
256
|
+
'katello/api/v2/debs' => [:index, :thindex, :show, :auto_complete_search, :auto_complete_name, :auto_complete_arch, :compare],
|
|
258
257
|
'katello/api/v2/package_groups' => [:index, :show, :auto_complete_search, :compare],
|
|
259
258
|
'katello/api/v2/docker_manifests' => [:index, :show, :auto_complete_search, :compare],
|
|
260
259
|
'katello/api/v2/docker_manifest_lists' => [:index, :show, :auto_complete_search, :compare],
|
|
@@ -289,6 +288,7 @@ module Katello
|
|
|
289
288
|
:repo_compare_packages],
|
|
290
289
|
'katello/api/v2/repository_sets' => [:index, :show, :available_repositories, :auto_complete_search],
|
|
291
290
|
'katello/api/v2/host_packages' => [:installed_packages],
|
|
291
|
+
'katello/api/v2/host_debs' => [:installed_debs],
|
|
292
292
|
},
|
|
293
293
|
:resource_type => 'Katello::Product',
|
|
294
294
|
:finder_scope => :readable
|
|
@@ -10,9 +10,6 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
|
|
|
10
10
|
'katello/api/v2/host_packages/upgrade_all',
|
|
11
11
|
'katello/api/v2/host_packages/remove',
|
|
12
12
|
'katello/api/v2/host_packages/auto_complete_search',
|
|
13
|
-
'katello/api/v2/host_subscriptions/auto_attach',
|
|
14
|
-
'katello/api/v2/host_subscriptions/add_subscriptions',
|
|
15
|
-
'katello/api/v2/host_subscriptions/remove_subscriptions',
|
|
16
13
|
'katello/api/v2/host_subscriptions/available_release_versions',
|
|
17
14
|
'katello/api/v2/host_subscriptions/content_override',
|
|
18
15
|
'katello/api/v2/hosts_bulk_actions/bulk_add_host_collections',
|
|
@@ -20,9 +17,6 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
|
|
|
20
17
|
'katello/api/v2/hosts_bulk_actions/install_content',
|
|
21
18
|
'katello/api/v2/hosts_bulk_actions/update_content',
|
|
22
19
|
'katello/api/v2/hosts_bulk_actions/remove_content',
|
|
23
|
-
'katello/api/v2/hosts_bulk_actions/add_subscriptions',
|
|
24
|
-
'katello/api/v2/hosts_bulk_actions/remove_subscriptions',
|
|
25
|
-
'katello/api/v2/hosts_bulk_actions/auto_attach',
|
|
26
20
|
'katello/api/v2/hosts_bulk_actions/content_overrides',
|
|
27
21
|
'katello/api/v2/hosts_bulk_actions/environment_content_view',
|
|
28
22
|
'katello/api/v2/hosts_bulk_actions/release_version',
|
data/lib/katello/plugin.rb
CHANGED
|
@@ -221,6 +221,15 @@ Foreman::Plugin.register :katello do
|
|
|
221
221
|
:after => :content_hosts,
|
|
222
222
|
:turbolinks => false
|
|
223
223
|
|
|
224
|
+
menu :labs_menu,
|
|
225
|
+
:container_images,
|
|
226
|
+
:url => '/labs/container_images',
|
|
227
|
+
:url_hash => {:controller => 'katello/api/v2/container_images_controller',
|
|
228
|
+
:action => 'index'},
|
|
229
|
+
:caption => N_('Container Images'),
|
|
230
|
+
:parent => :lab_features_menu,
|
|
231
|
+
:turbolinks => false
|
|
232
|
+
|
|
224
233
|
extend_template_helpers Katello::KatelloUrlsHelper
|
|
225
234
|
extend_template_helpers Katello::Concerns::BaseTemplateScopeExtensions
|
|
226
235
|
|
|
@@ -242,7 +251,7 @@ Foreman::Plugin.register :katello do
|
|
|
242
251
|
parameter_filter ::Host::Managed, :host_collection_ids => [],
|
|
243
252
|
:content_facet_attributes => [:content_view_id, :lifecycle_environment_id, :content_source_id,
|
|
244
253
|
:host, :kickstart_repository_id],
|
|
245
|
-
:subscription_facet_attributes => [:release_version, :
|
|
254
|
+
:subscription_facet_attributes => [:release_version, :purpose_usage, :purpose_role, :service_level, :host,
|
|
246
255
|
{:installed_products => [:product_id, :product_name, :arch, :version]}, :facts, {:hypervisor_guest_uuids => []}]
|
|
247
256
|
parameter_filter ::Hostgroup, :content_view_id, :lifecycle_environment_id, :content_source_id,
|
|
248
257
|
:kickstart_repository_id
|
|
@@ -596,6 +605,12 @@ Foreman::Plugin.register :katello do
|
|
|
596
605
|
full_name: N_('Delete Host upon unregister'),
|
|
597
606
|
description: N_("When unregistering a host via subscription-manager, also delete the host record. Managed resources linked to host such as virtual machines and DNS records may also be deleted.")
|
|
598
607
|
|
|
608
|
+
setting 'retain_build_profile_upon_unregistration',
|
|
609
|
+
type: :boolean,
|
|
610
|
+
default: false,
|
|
611
|
+
full_name: N_('Retain build profile upon unregistration'),
|
|
612
|
+
description: N_("When enabled, provisioning information like content view environments, kickstart repository, and content source will be retained when a host is unregistered. When disabled, this information will be cleared during unregistration.")
|
|
613
|
+
|
|
599
614
|
setting 'register_hostname_fact',
|
|
600
615
|
type: :string,
|
|
601
616
|
default: '',
|
|
@@ -705,13 +720,6 @@ Foreman::Plugin.register :katello do
|
|
|
705
720
|
full_name: N_('Hide Reclaim Space Warning'),
|
|
706
721
|
description: N_('If this is enabled, the Smart Proxy page will suppress the warning message about reclaiming space.')
|
|
707
722
|
|
|
708
|
-
setting 'deb_enable_structured_apt',
|
|
709
|
-
type: :boolean,
|
|
710
|
-
default: false,
|
|
711
|
-
full_name: N_('Enable structured APT for deb content'),
|
|
712
|
-
description: N_("If set, newly created APT repos in Katello will use the same repo structure as the remote repos they are synchronized from. " \
|
|
713
|
-
"You may migrate existing APT repos to match the setting, by running 'foreman-rake katello:migrate_structure_content_for_deb'.")
|
|
714
|
-
|
|
715
723
|
setting 'registry_token_expiration_minutes',
|
|
716
724
|
type: :integer,
|
|
717
725
|
default: 60,
|
|
@@ -17,7 +17,7 @@ begin
|
|
|
17
17
|
Rake::Task['rake:test:katello:test'].invoke
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
desc "Runs
|
|
20
|
+
desc "Runs pulpcore integration tests"
|
|
21
21
|
task 'katello:pulpcore' do
|
|
22
22
|
Rake::Task['jenkins:setup:minitest'].invoke
|
|
23
23
|
Rake::Task['rake:test:katello:test:pulpcore'].invoke
|