katello 4.18.0 → 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 +52 -349
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/ca/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/cs/katello.js +53 -350
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +54 -351
- data/app/assets/javascripts/katello/locale/de/katello.js +56 -353
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/el/katello.js +54 -351
- data/app/assets/javascripts/katello/locale/en/katello.js +53 -350
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +53 -350
- data/app/assets/javascripts/katello/locale/en_US/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/es/katello.js +56 -353
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/fr/katello.js +138 -435
- data/app/assets/javascripts/katello/locale/gl/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/gu/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/hi/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/id/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/it/katello.js +53 -350
- data/app/assets/javascripts/katello/locale/ja/katello.js +142 -439
- data/app/assets/javascripts/katello/locale/ka/katello.js +56 -353
- data/app/assets/javascripts/katello/locale/kn/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/ko/katello.js +135 -432
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/mr/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/or/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/pa/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/pl/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/pt/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +56 -353
- data/app/assets/javascripts/katello/locale/ro/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/ru/katello.js +54 -351
- data/app/assets/javascripts/katello/locale/sl/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/ta/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/te/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/tr/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/vi/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/zh/katello.js +52 -349
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +135 -432
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +54 -351
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +46 -13
- 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_export_incrementals_controller.rb +56 -34
- 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/errata_controller.rb +4 -4
- 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/publish.rb +7 -7
- 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 -12
- 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 +16 -7
- 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/content_view_version/export.rb +25 -10
- 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/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +6 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +5 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +5 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +5 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +4 -4
- 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 +52 -349
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/katello.po +52 -349
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +52 -349
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +54 -350
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +54 -351
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +56 -353
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/katello.po +52 -349
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/katello.po +52 -349
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/katello.po +55 -352
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +54 -350
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/katello.po +53 -350
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/katello.po +52 -349
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +56 -353
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/katello.po +52 -349
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +139 -435
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/katello.po +52 -349
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +52 -349
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/katello.po +52 -349
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +52 -349
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/katello.po +52 -349
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +53 -350
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +143 -439
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +56 -353
- data/locale/katello.pot +695 -1152
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +52 -349
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +136 -432
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/katello.po +52 -349
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +52 -349
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/katello.po +52 -349
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +52 -349
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +52 -349
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/katello.po +52 -349
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/katello.po +52 -349
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +52 -349
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +56 -353
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/katello.po +52 -349
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/katello.po +52 -349
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +54 -351
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/katello.po +52 -349
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/katello.po +52 -349
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +52 -349
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/katello.po +52 -349
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +52 -349
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/katello.po +52 -349
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/katello.po +52 -349
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/katello.po +52 -349
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/katello.po +52 -349
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +136 -432
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +54 -351
- 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
|
@@ -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
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
namespace :katello do
|
|
2
|
+
namespace :upgrades do
|
|
3
|
+
namespace '4.19' do
|
|
4
|
+
desc "Migrate all APT repo content using simple mode to use structured APT mode."
|
|
5
|
+
task :enable_structured_apt_for_deb => ['environment', 'dynflow:client', "check_ping"] do
|
|
6
|
+
::ForemanTasks.dynflow.config.remote = true
|
|
7
|
+
::ForemanTasks.dynflow.initialize!
|
|
8
|
+
|
|
9
|
+
User.current = User.anonymous_api_admin # Set a user
|
|
10
|
+
|
|
11
|
+
roots = Katello::RootRepository.deb_type
|
|
12
|
+
|
|
13
|
+
if roots.any?
|
|
14
|
+
puts "Enabling structured APT for all deb type repos not already migrated."
|
|
15
|
+
else
|
|
16
|
+
puts "Since there are no deb type repos, enabling structured APT does not require migration. Skipping."
|
|
17
|
+
exit
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
found_repos_to_migrate = false
|
|
21
|
+
roots.includes(:repositories).each do |root|
|
|
22
|
+
next unless root.content_id
|
|
23
|
+
found_repos_to_migrate = true
|
|
24
|
+
puts "Migrating root repo '#{root.name}', id='#{root.id}'."
|
|
25
|
+
|
|
26
|
+
# Ensure ensure_valid_deb_constraints won't prevent us from saving the root repo.
|
|
27
|
+
unless root.ensure_valid_deb_constraints.blank?
|
|
28
|
+
puts "Root repo '#{root.name}' (id='#{root.id}') violates deb constraints, setting url and deb_releases to nil!"
|
|
29
|
+
root.url = nil
|
|
30
|
+
root.deb_releases = nil
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
repos = root.repositories
|
|
34
|
+
library_instance = root.library_instance
|
|
35
|
+
if root.content_id != 'NEEDS_RE_MIGRATION'
|
|
36
|
+
begin
|
|
37
|
+
# Move the content_id from the root to the library instance so that ContentDestroy will destroy it!
|
|
38
|
+
old_content_id = root.content_id
|
|
39
|
+
library_instance.content_id = old_content_id
|
|
40
|
+
library_instance.save!
|
|
41
|
+
root.content_id = nil
|
|
42
|
+
root.save!
|
|
43
|
+
ForemanTasks.sync_task(::Actions::Katello::Product::ContentDestroy, root.library_instance)
|
|
44
|
+
library_instance.content_id = nil
|
|
45
|
+
library_instance.save!
|
|
46
|
+
rescue
|
|
47
|
+
root.content_id = old_content_id
|
|
48
|
+
root.save!
|
|
49
|
+
library_instance.content_id = nil
|
|
50
|
+
library_instance.save!
|
|
51
|
+
raise
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
begin
|
|
55
|
+
root.content_id = nil
|
|
56
|
+
root.save!
|
|
57
|
+
|
|
58
|
+
repos.each do |repo|
|
|
59
|
+
if repo[:content_id].nil?
|
|
60
|
+
content_create = ForemanTasks.sync_task(::Actions::Katello::Product::ContentCreate, repo)
|
|
61
|
+
content_id = content_create.input[:content_id]
|
|
62
|
+
else
|
|
63
|
+
content_id = repo.content_id
|
|
64
|
+
end
|
|
65
|
+
content_view_environment = repo.content_view_environment
|
|
66
|
+
if content_view_environment
|
|
67
|
+
ForemanTasks.sync_task(::Actions::Candlepin::Environment::AddContentToEnvironment, :view_env_cp_id => content_view_environment.cp_id, :content_id => content_id)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
rescue
|
|
71
|
+
root.content_id = 'NEEDS_RE_MIGRATION'
|
|
72
|
+
root.save!
|
|
73
|
+
raise
|
|
74
|
+
end
|
|
75
|
+
puts "Successfully migrated root repo '#{root.name}', id='#{root.id}'."
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
if found_repos_to_migrate
|
|
79
|
+
puts "Successfully migrated all remaining repositories to use structured APT!"
|
|
80
|
+
puts "IMPORTANT: Any smart proxies serving deb content that was migrated must be re-synced!"
|
|
81
|
+
else
|
|
82
|
+
puts "Found no repositories that needed migrating. All existing deb type repos are already using structured APT!"
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
namespace :katello do
|
|
2
|
+
namespace :upgrades do
|
|
3
|
+
namespace '4.19' do
|
|
4
|
+
desc "Populate repository version PRNs for all repositories"
|
|
5
|
+
task :populate_repository_version_prns => ["dynflow:client", "check_ping"] do
|
|
6
|
+
User.current = User.anonymous_api_admin
|
|
7
|
+
api = ::Katello::Pulp3::Api::Core.new(SmartProxy.pulp_primary)
|
|
8
|
+
updates = []
|
|
9
|
+
api.core_repository_versions_list_all(fields: 'pulp_href,prn').each do |repo_version|
|
|
10
|
+
next if repo_version.prn.blank?
|
|
11
|
+
updates << { version_href: repo_version.pulp_href, prn: repo_version.prn }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
return if updates.empty?
|
|
15
|
+
|
|
16
|
+
updates.each_slice(10_000) do |batch|
|
|
17
|
+
when_clauses = batch.map do |update|
|
|
18
|
+
version_href = ::Katello::Repository.connection.quote_string(update[:version_href])
|
|
19
|
+
prn = ::Katello::Repository.connection.quote_string(update[:prn])
|
|
20
|
+
"WHEN '#{version_href}' THEN '#{prn}'"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
version_hrefs = batch.map { |u| u[:version_href] }
|
|
24
|
+
case_statement = "CASE version_href #{when_clauses.join(' ')} END"
|
|
25
|
+
|
|
26
|
+
::Katello::Repository.where(version_href: version_hrefs)
|
|
27
|
+
.update_all("version_prn = #{case_statement}")
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
data/lib/katello/version.rb
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'pulp_rpm_client'
|
|
2
|
+
|
|
3
|
+
# Monkey patch to allow nil values for deprecated gpgcheck and repo_gpgcheck fields
|
|
4
|
+
# These fields were removed in pulp_rpm 3.30.0 but older Pulp versions return null
|
|
5
|
+
# The new bindings don't allow nil, causing ArgumentError when deserializing responses
|
|
6
|
+
[PulpRpmClient::RpmRpmRepositoryResponse, PulpRpmClient::RpmRpmPublicationResponse].each do |klass|
|
|
7
|
+
klass.class_eval do
|
|
8
|
+
# Custom attribute writer method with validation
|
|
9
|
+
# @param [Object] gpgcheck Value to be assigned
|
|
10
|
+
def gpgcheck=(gpgcheck)
|
|
11
|
+
# Allow nil for deprecated field - monkey patch here
|
|
12
|
+
if !gpgcheck.nil? && gpgcheck > 1
|
|
13
|
+
fail ArgumentError, 'invalid value for "gpgcheck", must be smaller than or equal to 1.'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
if !gpgcheck.nil? && gpgcheck < 0
|
|
17
|
+
fail ArgumentError, 'invalid value for "gpgcheck", must be greater than or equal to 0.'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
@gpgcheck = gpgcheck
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Custom attribute writer method with validation
|
|
24
|
+
# @param [Object] repo_gpgcheck Value to be assigned
|
|
25
|
+
def repo_gpgcheck=(repo_gpgcheck)
|
|
26
|
+
# Allow nil for deprecated field - monkey patch here
|
|
27
|
+
if !repo_gpgcheck.nil? && repo_gpgcheck > 1
|
|
28
|
+
fail ArgumentError, 'invalid value for "repo_gpgcheck", must be smaller than or equal to 1.'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
if !repo_gpgcheck.nil? && repo_gpgcheck < 0
|
|
32
|
+
fail ArgumentError, 'invalid value for "repo_gpgcheck", must be greater than or equal to 0.'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
@repo_gpgcheck = repo_gpgcheck
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
Binary file
|