katello 3.17.0.rc1 → 3.17.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +5 -3
- data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +1 -1
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -2
- data/app/controllers/katello/api/v2/api_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_credentials_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +5 -5
- data/app/controllers/katello/api/v2/content_view_repositories_controller.rb +47 -0
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +50 -19
- data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -1
- data/app/controllers/katello/api/v2/host_tracer_controller.rb +0 -5
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +15 -0
- data/app/controllers/katello/api/v2/repositories_controller.rb +24 -14
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
- data/app/controllers/katello/concerns/api/v2/{associations_permission_check.rb → authorization.rb} +20 -2
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +11 -5
- data/app/helpers/katello/content_view_helper.rb +1 -1
- data/app/lib/actions/candlepin/product/content_add.rb +1 -2
- data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
- data/app/lib/actions/katello/capsule_content/sync.rb +2 -2
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +17 -3
- data/app/lib/actions/katello/content_view/capsule_sync.rb +1 -1
- data/app/lib/actions/katello/content_view/destroy.rb +2 -2
- data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
- data/app/lib/actions/katello/content_view/promote_to_environment.rb +1 -0
- data/app/lib/actions/katello/content_view/publish.rb +12 -7
- data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +1 -1
- data/app/lib/actions/katello/content_view_puppet_environment/create.rb +2 -2
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +4 -4
- data/app/lib/actions/katello/organization/manifest_delete.rb +1 -0
- data/app/lib/actions/katello/organization/manifest_import.rb +1 -0
- data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -0
- data/app/lib/actions/katello/product/content_create.rb +3 -3
- data/app/lib/actions/katello/product/destroy.rb +25 -4
- data/app/lib/actions/katello/repository/clone_contents.rb +3 -3
- data/app/lib/actions/katello/repository/clone_to_environment.rb +2 -2
- data/app/lib/actions/katello/repository/clone_to_version.rb +1 -1
- data/app/lib/actions/katello/repository/create.rb +1 -1
- data/app/lib/actions/katello/repository/destroy.rb +10 -4
- data/app/lib/actions/katello/repository/export.rb +3 -3
- data/app/lib/actions/katello/repository/finish_upload.rb +2 -2
- data/app/lib/actions/katello/repository/import_upload.rb +3 -3
- data/app/lib/actions/katello/repository/metadata_generate.rb +1 -1
- data/app/lib/actions/katello/repository/multi_clone_contents.rb +6 -10
- data/app/lib/actions/katello/repository/purge_empty_content.rb +1 -1
- data/app/lib/actions/katello/repository/remove_content.rb +1 -1
- data/app/lib/actions/katello/repository/sync.rb +35 -25
- data/app/lib/actions/katello/repository/update.rb +30 -19
- data/app/lib/actions/katello/repository/update_http_proxy_details.rb +1 -1
- data/app/lib/actions/katello/repository/update_metadata_sync.rb +1 -1
- data/app/lib/actions/katello/repository/upload_files.rb +2 -2
- data/app/lib/actions/katello/repository/verify_checksum.rb +28 -0
- data/app/lib/actions/pulp/content_view_puppet_environment/copy_contents.rb +1 -1
- data/app/lib/actions/pulp/orchestration/orphan_cleanup/remove_orphans.rb +1 -1
- data/app/lib/actions/pulp/orchestration/repository/sync.rb +2 -1
- data/app/lib/actions/pulp/repository/copy_all_units.rb +1 -1
- data/app/lib/actions/pulp/repository/copy_units.rb +1 -1
- data/app/lib/actions/pulp/repository/create.rb +1 -1
- data/app/lib/actions/pulp/repository/destroy.rb +1 -1
- data/app/lib/actions/pulp/repository/remove_units.rb +2 -2
- data/app/lib/actions/pulp/repository/sync.rb +3 -2
- data/app/lib/actions/pulp3/capsule_content/sync.rb +3 -1
- data/app/lib/actions/pulp3/content_guard/refresh_all_distributions.rb +19 -0
- data/app/lib/actions/pulp3/content_migration.rb +3 -3
- data/app/lib/actions/pulp3/content_view_version/create_exporter.rb +20 -0
- data/app/lib/actions/pulp3/content_view_version/destroy_exporter.rb +16 -0
- data/app/lib/actions/pulp3/content_view_version/export.rb +19 -0
- data/app/lib/actions/pulp3/import_migration.rb +3 -3
- data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +69 -0
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +1 -2
- data/app/lib/actions/pulp3/orchestration/repository/create.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/repository/sync.rb +3 -1
- data/app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb +22 -0
- data/app/lib/actions/pulp3/orchestration/repository/upload_content.rb +1 -1
- data/app/lib/actions/pulp3/repository/copy_content.rb +0 -1
- data/app/lib/actions/pulp3/repository/multi_copy_units.rb +2 -2
- data/app/lib/actions/pulp3/repository/presenters/repair_presenter.rb +85 -0
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +11 -5
- data/app/lib/actions/pulp3/repository/repair.rb +29 -0
- data/app/lib/actions/pulp3/repository/save_artifact.rb +1 -1
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +2 -2
- data/app/lib/actions/pulp3/repository/save_version.rb +20 -16
- data/app/lib/actions/pulp3/repository/save_versions.rb +1 -1
- data/app/lib/actions/pulp3/repository/sync.rb +1 -1
- data/app/lib/actions/pulp3/repository/update_cv_repository_cert_guard.rb +6 -2
- data/app/lib/actions/pulp3/repository/upload_file.rb +2 -2
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +5 -3
- data/app/lib/katello/concerns/permission_extensions.rb +14 -0
- data/app/lib/katello/foreman.rb +1 -1
- data/app/lib/katello/resources/candlepin/product.rb +0 -11
- data/app/lib/katello/resources/registry.rb +3 -3
- data/app/models/katello/authorization/content_view_version_export_history.rb +11 -0
- data/app/models/katello/authorization/product.rb +4 -0
- data/app/models/katello/authorization/repository.rb +8 -0
- data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -1
- data/app/models/katello/concerns/organization_extensions.rb +6 -1
- data/app/models/katello/concerns/pulp_database_unit.rb +2 -2
- data/app/models/katello/concerns/redhat_extensions.rb +4 -2
- data/app/models/katello/concerns/smart_proxy_extensions.rb +33 -16
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -1
- data/app/models/katello/content_view.rb +1 -1
- data/app/models/katello/content_view_package_filter.rb +1 -1
- data/app/models/katello/content_view_puppet_environment.rb +1 -1
- data/app/models/katello/content_view_version.rb +3 -1
- data/app/models/katello/content_view_version_export_history.rb +22 -0
- data/app/models/katello/docker_meta_tag.rb +1 -1
- data/app/models/katello/errata_status.rb +21 -12
- data/app/models/katello/erratum.rb +1 -1
- data/app/models/katello/glue/candlepin/owner.rb +4 -2
- data/app/models/katello/glue/pulp/repo.rb +3 -1
- data/app/models/katello/host/content_facet.rb +8 -0
- data/app/models/katello/kt_environment.rb +1 -1
- data/app/models/katello/package_group.rb +1 -1
- data/app/models/katello/ping.rb +8 -3
- data/app/models/katello/pulp3/content_guard.rb +1 -1
- data/app/models/katello/purpose_status.rb +2 -2
- data/app/models/katello/repository.rb +23 -15
- data/app/models/katello/rhsm_fact_parser.rb +1 -1
- data/app/models/katello/root_repository.rb +2 -15
- data/app/models/katello/sync_plan.rb +8 -0
- data/app/models/setting/content.rb +3 -1
- data/app/services/cert/certs.rb +10 -2
- data/app/services/katello/candlepin/event_handler.rb +1 -0
- data/app/services/katello/host_status_manager.rb +7 -0
- data/app/services/katello/pulp/content.rb +1 -1
- data/app/services/katello/pulp/repository.rb +7 -7
- data/app/services/katello/pulp/repository/deb.rb +2 -2
- data/app/services/katello/pulp/repository/docker.rb +5 -5
- data/app/services/katello/pulp/repository/file.rb +2 -2
- data/app/services/katello/pulp/repository/ostree.rb +2 -2
- data/app/services/katello/pulp/repository/puppet.rb +2 -2
- data/app/services/katello/pulp/repository/yum.rb +5 -6
- data/app/services/katello/pulp/smart_proxy_repository.rb +1 -1
- data/app/services/katello/pulp3/ansible_collection.rb +2 -2
- data/app/services/katello/pulp3/api/core.rb +16 -0
- data/app/services/katello/pulp3/content.rb +3 -3
- data/app/services/katello/pulp3/content_view_version/export.rb +71 -0
- data/app/services/katello/pulp3/distribution.rb +2 -2
- data/app/services/katello/pulp3/docker_blob.rb +2 -2
- data/app/services/katello/pulp3/docker_manifest.rb +2 -2
- data/app/services/katello/pulp3/docker_manifest_list.rb +2 -2
- data/app/services/katello/pulp3/docker_tag.rb +2 -2
- data/app/services/katello/pulp3/erratum.rb +2 -2
- data/app/services/katello/pulp3/file_unit.rb +2 -2
- data/app/services/katello/pulp3/migration.rb +139 -34
- data/app/services/katello/pulp3/migration_plan.rb +50 -14
- data/app/services/katello/pulp3/migration_switchover.rb +41 -9
- data/app/services/katello/pulp3/module_stream.rb +2 -2
- data/app/services/katello/pulp3/package_group.rb +2 -2
- data/app/services/katello/pulp3/repository.rb +9 -9
- data/app/services/katello/pulp3/repository/docker.rb +18 -10
- data/app/services/katello/pulp3/repository/yum.rb +25 -13
- data/app/services/katello/pulp3/repository_mirror.rb +2 -1
- data/app/services/katello/pulp3/rpm.rb +2 -2
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +2 -2
- data/app/services/katello/pulp3/smart_proxy_repository.rb +1 -1
- data/app/services/katello/pulp3/srpm.rb +2 -2
- data/app/services/katello/pulp3/task_group.rb +1 -1
- data/app/services/katello/pulp3/yum_metadata_file.rb +2 -2
- data/app/services/katello/registration_manager.rb +9 -3
- data/app/services/katello/repository_type.rb +1 -1
- data/app/services/katello/smart_proxy_helper.rb +14 -17
- data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +10 -2
- data/app/views/katello/api/v2/content_view_repositories/show_all.json.rabl +8 -0
- data/app/views/katello/api/v2/content_view_version_export_histories/index.json.rabl +7 -0
- data/app/views/katello/api/v2/content_view_version_export_histories/show.json.rabl +13 -0
- data/app/views/katello/api/v2/package_groups/show.json.rabl +1 -1
- data/app/views/katello/api/v2/packages/show.json.rabl +1 -1
- data/app/views/katello/api/v2/repositories/base.json.rabl +2 -1
- data/app/views/katello/api/v2/srpms/show.json.rabl +1 -1
- data/app/views/katello/api/v2/sync_plans/show.json.rabl +2 -1
- data/config/routes/api/rhsm.rb +1 -0
- data/config/routes/api/v2.rb +8 -1
- data/db/migrate/20200818040551_add_content_view_version_export_history.rb +13 -0
- data/db/migrate/20200818192230_update_system_purpose_status.rb +12 -0
- data/db/migrate/20200820145217_add_download_concurrency_to_katello_root_repositories.rb +5 -0
- data/db/migrate/20200910140340_remove_distribution_uuid.rb +5 -0
- data/db/migrate/20200914200906_remove_auto_enabled.rb +5 -0
- data/engines/bastion/app/assets/javascripts/bastion/bastion.js +1 -0
- data/engines/bastion/app/assets/javascripts/bastion/routing.module.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-ui-router/stateEvents.js +300 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-products.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-module-streams-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts-helper.service.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-installed.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-module-streams.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +57 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +45 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +42 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +45 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +11 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization-selector.controller.js +5 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/package-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-sync-plan-modal.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +7 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +0 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +0 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +16 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-repositories.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-details-info.controller.js +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.controller.js +1 -1
- data/lib/katello/engine.rb +2 -0
- data/lib/katello/permission_creator.rb +14 -9
- data/lib/katello/tasks/clean_published_repo_directories.rake +3 -3
- data/lib/katello/tasks/pulp3_content_switchover.rake +24 -6
- data/lib/katello/tasks/pulp3_migration.rake +4 -2
- data/lib/katello/tasks/pulp3_post_migration_check.rake +2 -2
- data/lib/katello/tasks/reimport.rake +1 -1
- data/lib/katello/tasks/repository.rake +15 -2
- data/lib/katello/tasks/unify_hosts.rake +1 -0
- data/lib/katello/tasks/upgrades/3.11/update_puppet_repos.rake +3 -3
- data/lib/katello/tasks/upgrades/3.12/remove_pulp2_notifier.rake +2 -2
- data/lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake +2 -2
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +47 -47
- data/locale/katello.pot +160 -160
- data/webpack/containers/Application/config.js +4 -4
- data/webpack/redux/actions/RedHatRepositories/helpers.js +1 -1
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +22 -32
- data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +0 -14
- data/webpack/scenes/Subscriptions/Manifest/index.js +2 -5
- data/webpack/scenes/Subscriptions/SubscriptionReducer.js +15 -6
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +0 -1
- data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +3 -0
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +24 -0
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +114 -26
- metadata +67 -33
- data/app/lib/actions/candlepin/product/content_update_enablement.rb +0 -18
- data/app/lib/actions/katello/repository/content_update.rb +0 -41
- data/app/lib/actions/katello/repository/update_cv_repo_cert_guard.rb +0 -17
@@ -7,10 +7,10 @@ module Actions
|
|
7
7
|
upload_actions = options.fetch(:upload_actions, nil)
|
8
8
|
content_type = options.fetch(:content_type)
|
9
9
|
if content_type
|
10
|
-
unit_type_id = SmartProxy.
|
10
|
+
unit_type_id = SmartProxy.pulp_primary.content_service(content_type)::CONTENT_TYPE
|
11
11
|
else
|
12
12
|
content_type = repository.content_type
|
13
|
-
unit_type_id = SmartProxy.
|
13
|
+
unit_type_id = SmartProxy.pulp_primary.content_service(content_type)::CONTENT_TYPE
|
14
14
|
end
|
15
15
|
generate_metadata = options.fetch(:generate_metadata, true)
|
16
16
|
plan_action(Katello::Repository::MetadataGenerate, repository, :dependency => import_upload_task) if generate_metadata
|
@@ -6,7 +6,7 @@ module Actions
|
|
6
6
|
include Actions::Katello::PulpSelector
|
7
7
|
def plan(repository, uploads, options = {})
|
8
8
|
action_subject(repository)
|
9
|
-
repo_service = repository.backend_service(::SmartProxy.
|
9
|
+
repo_service = repository.backend_service(::SmartProxy.pulp_primary)
|
10
10
|
|
11
11
|
upload_ids = uploads.pluck('id')
|
12
12
|
unit_keys = repo_service.unit_keys(uploads)
|
@@ -14,7 +14,7 @@ module Actions
|
|
14
14
|
sync_capsule = options.fetch(:sync_capsule, true)
|
15
15
|
|
16
16
|
options[:content_type] ||= ::Katello::RepositoryTypeManager.find(repository.content_type).default_managed_content_type.label
|
17
|
-
unit_type_id = SmartProxy.
|
17
|
+
unit_type_id = SmartProxy.pulp_primary.content_service(options[:content_type])::CONTENT_TYPE
|
18
18
|
|
19
19
|
sequence do
|
20
20
|
upload_results = concurrence do
|
@@ -29,7 +29,7 @@ module Actions
|
|
29
29
|
}
|
30
30
|
import_upload = plan_pulp_action([Actions::Pulp::Repository::ImportUpload,
|
31
31
|
Actions::Pulp3::Orchestration::Repository::ImportUpload],
|
32
|
-
repository, SmartProxy.
|
32
|
+
repository, SmartProxy.pulp_primary, import_upload_args)
|
33
33
|
plan_action(FinishUpload, repository, :import_upload_task => import_upload.output,
|
34
34
|
generate_metadata: false, content_type: options[:content_type])
|
35
35
|
import_upload.output
|
@@ -9,7 +9,7 @@ module Actions
|
|
9
9
|
force = options.fetch(:force, false)
|
10
10
|
source_repository = options.fetch(:source_repository, nil)
|
11
11
|
source_repository ||= repository.target_repository if repository.link?
|
12
|
-
smart_proxy = options.fetch(:smart_proxy, SmartProxy.
|
12
|
+
smart_proxy = options.fetch(:smart_proxy, SmartProxy.pulp_primary)
|
13
13
|
matching_content = options.fetch(:matching_content, false)
|
14
14
|
|
15
15
|
plan_pulp_action([Pulp::Repository::DistributorPublish, Pulp3::Orchestration::Repository::GenerateMetadata],
|
@@ -12,7 +12,7 @@ module Actions
|
|
12
12
|
if copy_contents
|
13
13
|
plan_action(Pulp3::Orchestration::Repository::MultiCopyAllUnits,
|
14
14
|
extended_repo_mapping,
|
15
|
-
SmartProxy.
|
15
|
+
SmartProxy.pulp_primary,
|
16
16
|
solve_dependencies: solve_dependencies)
|
17
17
|
end
|
18
18
|
|
@@ -46,19 +46,15 @@ module Actions
|
|
46
46
|
|
47
47
|
plan_action(Katello::Repository::MetadataGenerate, new_repository, metadata_options)
|
48
48
|
unless source_repositories.first.saved_checksum_type == new_repository.saved_checksum_type
|
49
|
-
|
50
|
-
|
51
|
-
checksum_mapping[dest_repo.id] = source_repos.first.saved_checksum_type
|
52
|
-
end
|
53
|
-
plan_self(:checksum_mapping => checksum_mapping)
|
49
|
+
plan_self(:source_checksum_type => source_repositories.first.saved_checksum_type,
|
50
|
+
:target_repo_id => new_repository.id)
|
54
51
|
end
|
55
52
|
end
|
56
53
|
|
57
54
|
def finalize
|
58
|
-
input[:
|
59
|
-
|
60
|
-
|
61
|
-
end
|
55
|
+
repository = ::Katello::Repository.find(input[:target_repo_id])
|
56
|
+
source_checksum_type = input[:source_checksum_type]
|
57
|
+
repository.update!(saved_checksum_type: source_checksum_type) if (repository && source_checksum_type)
|
62
58
|
end
|
63
59
|
end
|
64
60
|
end
|
@@ -27,7 +27,7 @@ module Actions
|
|
27
27
|
pulp_action = plan_pulp_action(
|
28
28
|
[Pulp::Orchestration::Repository::RemoveUnits,
|
29
29
|
Pulp3::Orchestration::Repository::RemoveUnits],
|
30
|
-
repository, SmartProxy.
|
30
|
+
repository, SmartProxy.pulp_primary, remove_content_args)
|
31
31
|
return if pulp_action.error
|
32
32
|
plan_self(:content_unit_class => content_units.first.class.name, :content_unit_ids => content_unit_ids)
|
33
33
|
plan_action(CapsuleSync, repository) if sync_capsule
|
@@ -34,38 +34,47 @@ module Actions
|
|
34
34
|
|
35
35
|
pulp_sync_options = {}
|
36
36
|
pulp_sync_options[:download_policy] = ::Runcible::Models::YumImporter::DOWNLOAD_ON_DEMAND if validate_contents && repo.yum?
|
37
|
+
|
38
|
+
#pulp2 options
|
37
39
|
pulp_sync_options[:force_full] = true if skip_metadata_check && repo.yum?
|
38
40
|
pulp_sync_options[:repair_sync] = true if validate_contents && repo.deb?
|
39
41
|
pulp_sync_options[:remove_missing] = false if incremental
|
42
|
+
pulp_sync_options[:source_url] = source_url
|
43
|
+
|
44
|
+
#pulp3 options
|
45
|
+
pulp_sync_options[:optimize] = false if skip_metadata_check && repo.yum?
|
40
46
|
|
41
47
|
sequence do
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
plan_action(
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
48
|
+
if SmartProxy.pulp_primary.pulp3_support?(repo) && validate_contents
|
49
|
+
plan_action(Katello::Repository::VerifyChecksum, repo)
|
50
|
+
else
|
51
|
+
plan_action(Pulp::Repository::RemoveUnits, :repo_id => repo.id, :content_unit_type => ::Katello::YumMetadataFile::CONTENT_TYPE) if validate_contents && repo.yum?
|
52
|
+
sync_action = plan_pulp_action([Actions::Pulp::Orchestration::Repository::Sync,
|
53
|
+
Actions::Pulp3::Orchestration::Repository::Sync],
|
54
|
+
repo,
|
55
|
+
SmartProxy.pulp_primary,
|
56
|
+
pulp_sync_options)
|
57
|
+
output = sync_action.output
|
58
|
+
|
59
|
+
contents_changed = skip_metadata_check || output[:contents_changed]
|
60
|
+
|
61
|
+
plan_action(Katello::Repository::IndexContent, :id => repo.id, :contents_changed => contents_changed)
|
62
|
+
plan_action(Katello::Foreman::ContentUpdate, repo.environment, repo.content_view, repo)
|
63
|
+
plan_action(Katello::Repository::FetchPxeFiles, :id => repo.id)
|
64
|
+
plan_action(Katello::Repository::CorrectChecksum, repo)
|
65
|
+
concurrence do
|
66
|
+
plan_action(Pulp::Repository::Download, :pulp_id => repo.pulp_id, :options => {:verify_all_units => true}) if validate_contents && repo.yum?
|
67
|
+
plan_action(Katello::Repository::MetadataGenerate, repo, :force => true) if skip_metadata_check && repo.yum?
|
68
|
+
plan_action(Katello::Repository::ErrataMail, repo, nil, contents_changed)
|
69
|
+
if generate_applicability
|
70
|
+
regenerate_applicability(repo, contents_changed)
|
71
|
+
end
|
63
72
|
end
|
73
|
+
plan_self(:id => repo.id, :sync_result => output, :skip_metadata_check => skip_metadata_check, :validate_contents => validate_contents,
|
74
|
+
:contents_changed => contents_changed)
|
75
|
+
plan_action(Katello::Repository::ImportApplicability, :repo_id => repo.id, :contents_changed => contents_changed) if generate_applicability
|
76
|
+
plan_action(Katello::Repository::SyncHook, :id => repo.id)
|
64
77
|
end
|
65
|
-
plan_self(:id => repo.id, :sync_result => output, :skip_metadata_check => skip_metadata_check, :validate_contents => validate_contents,
|
66
|
-
:contents_changed => contents_changed)
|
67
|
-
plan_action(Katello::Repository::ImportApplicability, :repo_id => repo.id, :contents_changed => contents_changed) if generate_applicability
|
68
|
-
plan_action(Katello::Repository::SyncHook, :id => repo.id)
|
69
78
|
end
|
70
79
|
end
|
71
80
|
|
@@ -91,6 +100,7 @@ module Actions
|
|
91
100
|
def presenter
|
92
101
|
found = all_planned_actions(Pulp::Repository::Sync)
|
93
102
|
found = all_planned_actions(Pulp3::Repository::Sync) if found.empty?
|
103
|
+
found = all_planned_actions(Pulp3::Repository::Repair) if found.empty?
|
94
104
|
Helpers::Presenter::Delegated.new(self, found)
|
95
105
|
end
|
96
106
|
|
@@ -3,13 +3,14 @@ module Actions
|
|
3
3
|
module Repository
|
4
4
|
class Update < Actions::EntryAction
|
5
5
|
include Actions::Katello::PulpSelector
|
6
|
+
|
7
|
+
# rubocop:disable Metrics/MethodLength
|
6
8
|
def plan(root, repo_params)
|
7
9
|
repository = root.library_instance
|
8
10
|
action_subject root.library_instance
|
9
11
|
|
10
12
|
repo_params[:url] = nil if repo_params[:url] == ''
|
11
|
-
update_cv_cert_protected = (repo_params[:unprotected] != repository.unprotected)
|
12
|
-
update_auto_enabled = repo_params.key?(:auto_enabled) && (repo_params[:auto_enabled] != root.auto_enabled)
|
13
|
+
update_cv_cert_protected = repo_params.key?(:unprotected) && (repo_params[:unprotected] != repository.unprotected)
|
13
14
|
root.update!(repo_params)
|
14
15
|
|
15
16
|
if root.download_policy == ::Runcible::Models::YumImporter::DOWNLOAD_BACKGROUND
|
@@ -21,33 +22,43 @@ module Actions
|
|
21
22
|
end
|
22
23
|
|
23
24
|
if update_content?(repository)
|
24
|
-
|
25
|
-
update_auto_enabled: update_auto_enabled)
|
26
|
-
end
|
25
|
+
content = root.content
|
27
26
|
|
27
|
+
plan_action(::Actions::Candlepin::Product::ContentUpdate,
|
28
|
+
:owner => repository.organization.label,
|
29
|
+
:content_id => root.content_id,
|
30
|
+
:name => root.name,
|
31
|
+
:content_url => root.custom_content_path,
|
32
|
+
:gpg_key_url => repository.yum_gpg_key_url,
|
33
|
+
:label => content.label,
|
34
|
+
:type => root.content_type,
|
35
|
+
:arches => root.format_arches)
|
36
|
+
|
37
|
+
content.update!(name: root.name,
|
38
|
+
content_url: root.custom_content_path,
|
39
|
+
content_type: repository.content_type,
|
40
|
+
label: content.label,
|
41
|
+
gpg_url: repository.yum_gpg_key_url)
|
42
|
+
end
|
28
43
|
if root.pulp_update_needed?
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
44
|
+
sequence do
|
45
|
+
plan_pulp_action([::Actions::Pulp::Orchestration::Repository::Refresh,
|
46
|
+
::Actions::Pulp3::Orchestration::Repository::Update],
|
47
|
+
repository,
|
48
|
+
SmartProxy.pulp_primary)
|
49
|
+
plan_self(:repository_id => root.library_instance.id)
|
50
|
+
if update_cv_cert_protected
|
51
|
+
plan_optional_pulp_action([::Actions::Pulp3::Orchestration::Repository::TriggerUpdateRepoCertGuard], repository, ::SmartProxy.pulp_primary)
|
52
|
+
end
|
53
|
+
end
|
34
54
|
end
|
35
55
|
end
|
36
56
|
|
37
57
|
def run
|
38
58
|
repository = ::Katello::Repository.find(input[:repository_id])
|
39
|
-
output[:repository_id] = input[:repository_id]
|
40
|
-
output[:update_cv_cert_protected] = input[:update_cv_cert_protected]
|
41
59
|
ForemanTasks.async_task(Katello::Repository::MetadataGenerate, repository)
|
42
60
|
end
|
43
61
|
|
44
|
-
def finalize
|
45
|
-
repository = ::Katello::Repository.find(output[:repository_id])
|
46
|
-
if output[:update_cv_cert_protected]
|
47
|
-
ForemanTasks.async_task(::Actions::Katello::Repository::UpdateCVRepoCertGuard, repository, SmartProxy.pulp_master)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
62
|
private
|
52
63
|
|
53
64
|
def update_content?(repository)
|
@@ -7,7 +7,7 @@ module Actions
|
|
7
7
|
plan_action(Katello::Repository::MetadataGenerate, repository)
|
8
8
|
concurrence do
|
9
9
|
::SmartProxy.with_repo(repository).each do |capsule|
|
10
|
-
next if capsule.
|
10
|
+
next if capsule.pulp_primary?
|
11
11
|
plan_action(Katello::CapsuleContent::Sync, capsule, repository_id: repository.id)
|
12
12
|
end
|
13
13
|
end
|
@@ -12,7 +12,7 @@ module Actions
|
|
12
12
|
tmp_files = prepare_tmp_files(files)
|
13
13
|
|
14
14
|
content_type ||= ::Katello::RepositoryTypeManager.find(repository.content_type).default_managed_content_type.label
|
15
|
-
unit_type_id = SmartProxy.
|
15
|
+
unit_type_id = SmartProxy.pulp_primary.content_service(content_type)::CONTENT_TYPE
|
16
16
|
upload_actions = []
|
17
17
|
sequence do
|
18
18
|
concurrence do
|
@@ -20,7 +20,7 @@ module Actions
|
|
20
20
|
sequence do
|
21
21
|
upload_action = plan_pulp_action([Pulp::Orchestration::Repository::UploadContent,
|
22
22
|
Pulp3::Orchestration::Repository::UploadContent],
|
23
|
-
repository, SmartProxy.
|
23
|
+
repository, SmartProxy.pulp_primary!, file, unit_type_id)
|
24
24
|
|
25
25
|
upload_actions << upload_action.output
|
26
26
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Actions
|
2
|
+
module Katello
|
3
|
+
module Repository
|
4
|
+
class VerifyChecksum < Actions::EntryAction
|
5
|
+
include Helpers::Presenter
|
6
|
+
include Actions::Katello::PulpSelector
|
7
|
+
|
8
|
+
def plan(repo)
|
9
|
+
action_subject(repo)
|
10
|
+
|
11
|
+
if SmartProxy.pulp_primary.pulp3_support?(repo)
|
12
|
+
plan_action(Actions::Pulp3::Repository::Repair, repo.id, SmartProxy.pulp_primary)
|
13
|
+
else
|
14
|
+
options = {}
|
15
|
+
options[:validate_contents] = true
|
16
|
+
plan_action(Actions::Katello::Repository::Sync, repo, nil, options)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def presenter
|
21
|
+
found = all_planned_actions(Katello::Repository::Sync)
|
22
|
+
found = all_planned_actions(Pulp3::Repository::Repair) if found.empty?
|
23
|
+
Helpers::Presenter::Delegated.new(self, found)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -28,7 +28,7 @@ module Actions
|
|
28
28
|
target_env = ::Katello::ContentViewPuppetEnvironment.find(input[:target_content_view_puppet_environment_id])
|
29
29
|
|
30
30
|
puppet_modules = input[:puppet_module_ids] ? ::Katello::PuppetModule.where(:id => input[:puppet_module_ids]) : nil
|
31
|
-
source_repository.backend_service(SmartProxy.
|
31
|
+
source_repository.backend_service(SmartProxy.pulp_primary).copy_contents(target_env.nonpersisted_repository, puppet_modules: puppet_modules)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -5,7 +5,7 @@ module Actions
|
|
5
5
|
class RemoveOrphans < Pulp::Abstract
|
6
6
|
def plan(proxy)
|
7
7
|
sequence do
|
8
|
-
plan_action(Actions::Pulp::OrphanCleanup::RemoveUnneededRepos, proxy) unless proxy.
|
8
|
+
plan_action(Actions::Pulp::OrphanCleanup::RemoveUnneededRepos, proxy) unless proxy.pulp_primary?
|
9
9
|
plan_action(Actions::Pulp::OrphanCleanup::RemoveOrphans, proxy)
|
10
10
|
end
|
11
11
|
end
|
@@ -4,8 +4,9 @@ module Actions
|
|
4
4
|
module Repository
|
5
5
|
class Sync < Pulp::Abstract
|
6
6
|
include Actions::Helpers::OutputPropagator
|
7
|
-
def plan(
|
7
|
+
def plan(repository, smart_proxy, options)
|
8
8
|
sequence do
|
9
|
+
options.merge!(:repo_id => repository.id, :smart_proxy_id => smart_proxy.id)
|
9
10
|
action_output = plan_action(Actions::Pulp::Repository::Sync, options).output
|
10
11
|
plan_self(:subaction_output => action_output)
|
11
12
|
end
|
@@ -19,7 +19,7 @@ module Actions
|
|
19
19
|
target_repo = ::Katello::Repository.find(input[:target_repo_id])
|
20
20
|
filters = ::Katello::ContentViewFilter.where(:id => input[:filter_ids])
|
21
21
|
|
22
|
-
source_repo.backend_service(SmartProxy.
|
22
|
+
source_repo.backend_service(SmartProxy.pulp_primary).copy_contents(target_repo,
|
23
23
|
filters: filters,
|
24
24
|
solve_dependencies: input[:solve_dependencies],
|
25
25
|
rpm_filenames: input[:rpm_filenames])
|
@@ -16,7 +16,7 @@ module Actions
|
|
16
16
|
source_repo = ::Katello::Repository.find(input[:source_repo_id])
|
17
17
|
target_repo = ::Katello::Repository.find(input[:target_repo_id])
|
18
18
|
units = input[:class_name].constantize.where(:id => input[:unit_ids])
|
19
|
-
source_repo.backend_service(SmartProxy.
|
19
|
+
source_repo.backend_service(SmartProxy.pulp_primary).copy_units(target_repo, units,
|
20
20
|
incremental_update: input[:incremental_update])
|
21
21
|
end
|
22
22
|
end
|
@@ -9,7 +9,7 @@ module Actions
|
|
9
9
|
param :capsule_id
|
10
10
|
end
|
11
11
|
|
12
|
-
def plan(repository, smart_proxy = SmartProxy.
|
12
|
+
def plan(repository, smart_proxy = SmartProxy.pulp_primary!)
|
13
13
|
if repository.is_a?(::Katello::ContentViewPuppetEnvironment)
|
14
14
|
plan_self(:content_view_puppet_environment_id => repository.id, :capsule_id => smart_proxy.id)
|
15
15
|
else
|
@@ -19,7 +19,7 @@ module Actions
|
|
19
19
|
Rails.logger.warn("Tried to delete repository #{input[:repository_id]}, but it did not exist.")
|
20
20
|
return []
|
21
21
|
end
|
22
|
-
capsule = input[:capsule_id] ? smart_proxy(input[:capsule_id]) : SmartProxy.
|
22
|
+
capsule = input[:capsule_id] ? smart_proxy(input[:capsule_id]) : SmartProxy.pulp_primary
|
23
23
|
output[:pulp_tasks] = repo.backend_service(capsule).delete
|
24
24
|
end
|
25
25
|
end
|
@@ -24,11 +24,11 @@ module Actions
|
|
24
24
|
units = content_type.model_class.where(:id => input[:contents])
|
25
25
|
unit_pulp_ids = units.map(&:pulp_id).sort
|
26
26
|
end
|
27
|
-
tasks << ::SmartProxy.
|
27
|
+
tasks << ::SmartProxy.pulp_primary.content_service(content_type).remove(repo, unit_pulp_ids)
|
28
28
|
else
|
29
29
|
repo_content_types = ::Katello::RepositoryTypeManager.find(repo.content_type).content_types
|
30
30
|
repo_content_types.each do |type|
|
31
|
-
tasks << ::SmartProxy.
|
31
|
+
tasks << ::SmartProxy.pulp_primary.content_service(type).remove(repo)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
tasks
|
@@ -14,9 +14,10 @@ module Actions
|
|
14
14
|
overrides = {}
|
15
15
|
overrides[:feed] = input[:source_url] if input[:source_url]
|
16
16
|
overrides[:validate] = !(SETTINGS[:katello][:pulp][:skip_checksum_validation])
|
17
|
-
overrides
|
17
|
+
overrides.merge(input[:options]) if input[:options]
|
18
18
|
repo = ::Katello::Repository.find(input[:repo_id])
|
19
|
-
|
19
|
+
|
20
|
+
output[:pulp_tasks] = repo.backend_service(::SmartProxy.pulp_primary).sync(overrides)
|
20
21
|
end
|
21
22
|
|
22
23
|
def finalize
|
@@ -11,7 +11,9 @@ module Actions
|
|
11
11
|
|
12
12
|
def invoke_external_task
|
13
13
|
repo = ::Katello::Repository.find(input[:repository_id])
|
14
|
-
|
14
|
+
sync_options = {}
|
15
|
+
sync_options[:optimize] = false if sync_options[:skip_metadata_check]
|
16
|
+
output[:pulp_tasks] = repo.backend_service(smart_proxy).with_mirror_adapter.sync(sync_options)
|
15
17
|
end
|
16
18
|
|
17
19
|
def rescue_strategy_for_self
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Actions
|
2
|
+
module Pulp3
|
3
|
+
module ContentGuard
|
4
|
+
class RefreshAllDistributions < Pulp3::Abstract
|
5
|
+
def plan(smart_proxy)
|
6
|
+
sequence do
|
7
|
+
plan_action(Actions::Pulp3::ContentGuard::Refresh, smart_proxy)
|
8
|
+
|
9
|
+
roots = ::Katello::RootRepository.where.not(:content_type => ::Katello::Repository::DOCKER_TYPE).where(:unprotected => false)
|
10
|
+
repositories = ::Katello::Repository.where(:root => roots)
|
11
|
+
if repositories.any?
|
12
|
+
plan_action(::Actions::BulkAction, Actions::Pulp3::Repository::RefreshDistribution, repositories, smart_proxy.id, assume_content_guard_exists: true)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|