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
@@ -130,7 +130,7 @@ module Katello
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def self.cleanup_tags
|
133
|
-
self.where(
|
133
|
+
self.where("id not in (?) OR (schema2_id IS NULL AND schema1_id IS NULL)", Katello::RepositoryDockerMetaTag.pluck(:docker_meta_tag_id) + [0]).delete_all
|
134
134
|
end
|
135
135
|
|
136
136
|
def self.import_meta_tags(repositories)
|
@@ -9,17 +9,28 @@ module Katello
|
|
9
9
|
N_("Errata")
|
10
10
|
end
|
11
11
|
|
12
|
+
def errata_status_installable
|
13
|
+
@installable ||= Setting[:errata_status_installable]
|
14
|
+
end
|
15
|
+
|
16
|
+
def profiles_reporter_package_name
|
17
|
+
if host.content_facet.host_tools_installed?
|
18
|
+
Katello::Host::ContentFacet::HOST_TOOLS_PACKAGE_NAME
|
19
|
+
else
|
20
|
+
Katello::Host::ContentFacet::SUBSCRIPTION_MANAGER_PACKAGE_NAME
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
12
24
|
def to_label(_options = {})
|
13
|
-
installable = Setting[:errata_status_installable]
|
14
25
|
case status
|
15
26
|
when NEEDED_SECURITY_ERRATA
|
16
|
-
|
27
|
+
errata_status_installable ? N_("Security errata installable") : N_("Security errata applicable")
|
17
28
|
when NEEDED_ERRATA
|
18
|
-
|
29
|
+
errata_status_installable ? N_("Non-security errata installable") : N_("Non-security errata applicable")
|
19
30
|
when UP_TO_DATE
|
20
31
|
N_("All errata applied")
|
21
32
|
when UNKNOWN
|
22
|
-
N_("
|
33
|
+
N_("No installed packages and/or enabled repositories have been reported by %s." % profiles_reporter_package_name)
|
23
34
|
else
|
24
35
|
N_("Unknown errata status")
|
25
36
|
end
|
@@ -41,19 +52,17 @@ module Katello
|
|
41
52
|
end
|
42
53
|
|
43
54
|
def to_status(_options = {})
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
errata = host.content_facet.try(:applicable_errata)
|
50
|
-
end
|
55
|
+
errata = if errata_status_installable
|
56
|
+
host.content_facet.try(:installable_errata)
|
57
|
+
else
|
58
|
+
host.content_facet.try(:applicable_errata)
|
59
|
+
end
|
51
60
|
|
52
61
|
if errata.security.any?
|
53
62
|
NEEDED_SECURITY_ERRATA
|
54
63
|
elsif errata.any?
|
55
64
|
NEEDED_ERRATA
|
56
|
-
elsif host.content_facet.bound_repositories.empty?
|
65
|
+
elsif host.installed_packages.empty? || host.content_facet.bound_repositories.empty?
|
57
66
|
UNKNOWN
|
58
67
|
else
|
59
68
|
UP_TO_DATE
|
@@ -56,7 +56,7 @@ module Katello
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def self.backend_identifier_field
|
59
|
-
SmartProxy.
|
59
|
+
SmartProxy.pulp_primary!.content_service(CONTENT_TYPE).backend_unit_identifier ? BACKEND_IDENTIFIER_FIELD.to_sym : nil
|
60
60
|
end
|
61
61
|
|
62
62
|
def self.applicable_to_hosts(hosts)
|
@@ -35,8 +35,10 @@ module Katello
|
|
35
35
|
self.owner_details['contentAccessMode']
|
36
36
|
end
|
37
37
|
|
38
|
-
def simple_content_access?
|
39
|
-
|
38
|
+
def simple_content_access?(cached: true)
|
39
|
+
Rails.cache.fetch("#{self.label}_simple_content_access?", expires_in: 1.minute, force: !cached) do
|
40
|
+
content_access_mode == "org_environment"
|
41
|
+
end
|
40
42
|
end
|
41
43
|
|
42
44
|
def generate_debug_cert
|
@@ -84,7 +84,9 @@ module Katello
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def pulp_scratchpad_checksum_type
|
87
|
-
|
87
|
+
if SmartProxy.pulp_primary.has_feature?(SmartProxy::PULP_FEATURE)
|
88
|
+
pulp_repo_facts&.dig('scratchpad', 'checksum_type')
|
89
|
+
end
|
88
90
|
end
|
89
91
|
|
90
92
|
def pulp_counts_differ?
|
@@ -5,6 +5,9 @@ module Katello
|
|
5
5
|
self.table_name = 'katello_content_facets'
|
6
6
|
include Facets::Base
|
7
7
|
|
8
|
+
HOST_TOOLS_PACKAGE_NAME = 'katello-host-tools'.freeze
|
9
|
+
SUBSCRIPTION_MANAGER_PACKAGE_NAME = 'subscription-manager'.freeze
|
10
|
+
|
8
11
|
belongs_to :kickstart_repository, :class_name => "::Katello::Repository", :foreign_key => :kickstart_repository_id, :inverse_of => :kickstart_content_facets
|
9
12
|
belongs_to :content_view, :inverse_of => :content_facets, :class_name => "Katello::ContentView"
|
10
13
|
belongs_to :lifecycle_environment, :inverse_of => :content_facets, :class_name => "Katello::KTEnvironment"
|
@@ -126,6 +129,7 @@ module Katello
|
|
126
129
|
::Katello::Applicability::ApplicableContentHelper.new(self, ::Katello::Erratum, bound_repos).calculate_and_import
|
127
130
|
::Katello::Applicability::ApplicableContentHelper.new(self, ::Katello::ModuleStream, bound_repos).calculate_and_import
|
128
131
|
update_applicability_counts
|
132
|
+
self.update_errata_status
|
129
133
|
end
|
130
134
|
|
131
135
|
def import_applicability(partial = false)
|
@@ -226,6 +230,10 @@ module Katello
|
|
226
230
|
self.host.installed_packages.where("#{Katello::InstalledPackage.table_name}.name" => 'katello-host-tools-tracer').any?
|
227
231
|
end
|
228
232
|
|
233
|
+
def host_tools_installed?
|
234
|
+
host.installed_packages.where("#{Katello::InstalledPackage.table_name}.name" => HOST_TOOLS_PACKAGE_NAME).any?
|
235
|
+
end
|
236
|
+
|
229
237
|
def update_errata_status
|
230
238
|
host.get_status(::Katello::ErrataStatus).refresh!
|
231
239
|
host.refresh_global_status!
|
@@ -243,7 +243,7 @@ module Katello
|
|
243
243
|
end
|
244
244
|
|
245
245
|
def add_to_default_capsule
|
246
|
-
SmartProxy.
|
246
|
+
SmartProxy.pulp_primary.try(:add_lifecycle_environment, self)
|
247
247
|
end
|
248
248
|
|
249
249
|
# Katello, which understands repository content and promotion, provides release versions based upon
|
@@ -25,7 +25,7 @@ module Katello
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def package_names
|
28
|
-
service_class = SmartProxy.
|
28
|
+
service_class = SmartProxy.pulp_primary!.content_service(CONTENT_TYPE)
|
29
29
|
group = service_class.new(self.pulp_id)
|
30
30
|
group.default_package_names + group.conditional_package_names + group.optional_package_names + group.mandatory_package_names
|
31
31
|
end
|
data/app/models/katello/ping.rb
CHANGED
@@ -6,8 +6,13 @@ module Katello
|
|
6
6
|
|
7
7
|
class << self
|
8
8
|
def services(capsule_id = nil)
|
9
|
-
|
10
|
-
services
|
9
|
+
proxy = fetch_proxy(capsule_id)
|
10
|
+
services = [:candlepin, :candlepin_auth, :foreman_tasks, :katello_events, :candlepin_events]
|
11
|
+
services += [:pulp3] if proxy&.pulp3_enabled?
|
12
|
+
if proxy.nil? || proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE) || proxy.has_feature?(SmartProxy::PULP_FEATURE)
|
13
|
+
services += [:pulp, :pulp_auth]
|
14
|
+
end
|
15
|
+
|
11
16
|
services
|
12
17
|
end
|
13
18
|
|
@@ -212,7 +217,7 @@ module Katello
|
|
212
217
|
private
|
213
218
|
|
214
219
|
def fetch_proxy(capsule_id)
|
215
|
-
capsule_id ? SmartProxy.unscoped.find(capsule_id) : SmartProxy.
|
220
|
+
capsule_id ? SmartProxy.unscoped.find(capsule_id) : SmartProxy.pulp_primary
|
216
221
|
end
|
217
222
|
|
218
223
|
def backend_status(url, backend)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Katello
|
2
2
|
module Pulp3
|
3
3
|
class ContentGuard < Katello::Model
|
4
|
-
def self.import(smart_proxy = SmartProxy.
|
4
|
+
def self.import(smart_proxy = SmartProxy.pulp_primary!, force = false)
|
5
5
|
return unless (count == 0 || force)
|
6
6
|
content_guard_api = Katello::Pulp3::Api::ContentGuard.new(smart_proxy)
|
7
7
|
content_guard = content_guard_api.list&.results&.first
|
@@ -135,6 +135,7 @@ module Katello
|
|
135
135
|
scope :in_published_environments, -> { in_content_views(Katello::ContentView.non_default).where.not(:environment_id => nil) }
|
136
136
|
scope :order_by_root, ->(attr) { joins(:root).order("#{Katello::RootRepository.table_name}.#{attr}") }
|
137
137
|
scope :with_content, ->(content) { joins(Katello::RepositoryTypeManager.find_content_type(content).model_class.repository_association_class.name.demodulize.underscore.pluralize.to_sym).distinct }
|
138
|
+
scope :by_rpm_count, -> { left_joins(:repository_rpms).group(:id).order("count(katello_repository_rpms.id) ASC") } # smallest count first
|
138
139
|
|
139
140
|
scoped_search :on => :name, :relation => :root, :complete_value => true
|
140
141
|
scoped_search :rename => :product, :on => :name, :relation => :product, :complete_value => true
|
@@ -148,7 +149,6 @@ module Katello
|
|
148
149
|
scoped_search :on => :distribution_family, :complete_value => true
|
149
150
|
scoped_search :on => :distribution_variant, :complete_value => true
|
150
151
|
scoped_search :on => :distribution_bootable, :complete_value => true
|
151
|
-
scoped_search :on => :distribution_uuid, :complete_value => true
|
152
152
|
scoped_search :on => :redhat, :complete_value => { :true => true, :false => false }, :ext_method => :search_by_redhat
|
153
153
|
scoped_search :on => :container_repository_name, :complete_value => true
|
154
154
|
scoped_search :on => :description, :relation => :root, :only_explicit => true
|
@@ -159,7 +159,7 @@ module Katello
|
|
159
159
|
|
160
160
|
delegate :product, :redhat?, :custom?, :to => :root
|
161
161
|
delegate :yum?, :docker?, :puppet?, :deb?, :file?, :ostree?, :ansible_collection?, :to => :root
|
162
|
-
delegate :name, :label, :docker_upstream_name, :url, :to => :root
|
162
|
+
delegate :name, :label, :docker_upstream_name, :url, :download_concurrency, :to => :root
|
163
163
|
|
164
164
|
delegate :name, :created_at, :updated_at, :major, :minor, :gpg_key_id, :gpg_key, :arch, :label, :url, :unprotected,
|
165
165
|
:content_type, :product_id, :checksum_type, :docker_upstream_name, :mirror_on_sync, :"mirror_on_sync?",
|
@@ -594,6 +594,10 @@ module Katello
|
|
594
594
|
environment
|
595
595
|
end
|
596
596
|
|
597
|
+
def self.smart_proxy_syncable
|
598
|
+
where.not(:environment_id => nil)
|
599
|
+
end
|
600
|
+
|
597
601
|
def exist_for_environment?(environment, content_view, attribute = nil)
|
598
602
|
if environment.present? && content_view.in_environment?(environment)
|
599
603
|
repos = content_view.version(environment).repos(environment)
|
@@ -645,11 +649,10 @@ module Katello
|
|
645
649
|
:distribution_arch => target_repo.distribution_arch,
|
646
650
|
:distribution_family => target_repo.distribution_family,
|
647
651
|
:distribution_variant => target_repo.distribution_variant,
|
648
|
-
:distribution_uuid => target_repo.distribution_uuid,
|
649
652
|
:distribution_bootable => target_repo.distribution_bootable
|
650
653
|
)
|
651
654
|
else
|
652
|
-
self.backend_service(SmartProxy.
|
655
|
+
self.backend_service(SmartProxy.pulp_primary).import_distribution_data
|
653
656
|
end
|
654
657
|
end
|
655
658
|
|
@@ -659,7 +662,6 @@ module Katello
|
|
659
662
|
distribution_arch: self.distribution_arch,
|
660
663
|
distribution_family: self.distribution_family,
|
661
664
|
distribution_variant: self.distribution_variant,
|
662
|
-
distribution_uuid: self.distribution_uuid,
|
663
665
|
distribution_bootable: self.distribution_bootable
|
664
666
|
}
|
665
667
|
end
|
@@ -721,10 +723,10 @@ module Katello
|
|
721
723
|
DockerMetaTag.in_repositories(self.id).count
|
722
724
|
end
|
723
725
|
|
724
|
-
# a
|
726
|
+
# a primary repository actually has content (rpms, errata, etc) in the pulp repository. For these repositories, we can use the YumDistributor
|
725
727
|
# to generate metadata and can index the content from pulp, or for the case of content view archives without filters, can also use the YumCloneDistributor
|
726
728
|
#
|
727
|
-
def
|
729
|
+
def primary?
|
728
730
|
!self.yum? || # non-yum repos
|
729
731
|
self.in_default_view? || # default content view repos
|
730
732
|
(self.archive? && !self.content_view.composite) || # non-composite content view archive repos
|
@@ -734,19 +736,19 @@ module Katello
|
|
734
736
|
# a link repository has no content in the pulp repository and serves as a shell. It will always be empty. Only the YumCloneDistributor can be used
|
735
737
|
# to publish yum metadata, and it cannot be indexed from pulp, but must have its indexed associations copied from another repository (its target).
|
736
738
|
def link?
|
737
|
-
!
|
739
|
+
!primary?
|
738
740
|
end
|
739
741
|
|
740
742
|
# A link (empty repo) points to a target (a repository that actually has units in pulp). Target repos are always archive repos of a content view version (a repo with no environment)
|
741
|
-
# But for composite view versions, an archive repo, usually won't be a
|
743
|
+
# But for composite view versions, an archive repo, usually won't be a primary (but might be if multple components contain the same repo)
|
742
744
|
def target_repository
|
743
|
-
fail _("This is not a linked repository") if
|
745
|
+
fail _("This is not a linked repository") if primary?
|
744
746
|
return nil if self.archived_instance.nil?
|
745
747
|
|
746
|
-
#this is an environment repo, and the archived_instance is a
|
747
|
-
if self.environment_id? && self.archived_instance.
|
748
|
+
#this is an environment repo, and the archived_instance is a primary (not always true with composite)
|
749
|
+
if self.environment_id? && self.archived_instance.primary?
|
748
750
|
self.archived_instance
|
749
|
-
elsif self.environment_id #this is an environment repo, but a composite who's archived_instance isn't a
|
751
|
+
elsif self.environment_id #this is an environment repo, but a composite who's archived_instance isn't a primary
|
750
752
|
self.archived_instance.target_repository || self.archived_instance #to archived_instance if nil
|
751
753
|
else #must be a composite archive repo, with only one component repo
|
752
754
|
self.component_source_repositories.first
|
@@ -857,19 +859,25 @@ module Katello
|
|
857
859
|
def index_content(options = {})
|
858
860
|
source_repository = options.fetch(:source_repository, nil)
|
859
861
|
|
860
|
-
if self.yum? && !self.
|
862
|
+
if self.yum? && !self.primary?
|
861
863
|
index_linked_repo
|
862
864
|
elsif source_repository && !repository_type.unique_content_per_repo
|
863
865
|
copy_indexed_data(source_repository)
|
864
866
|
else
|
865
867
|
repository_type.content_types_to_index.each do |type|
|
866
|
-
type.model_class
|
868
|
+
Katello::Logging.time("CONTENT_INDEX", data: {type: type.model_class}) do
|
869
|
+
type.model_class.import_for_repository(self)
|
870
|
+
end
|
867
871
|
end
|
868
872
|
repository_type.index_additional_data_proc&.call(self)
|
869
873
|
end
|
870
874
|
true
|
871
875
|
end
|
872
876
|
|
877
|
+
def in_content_view?(content_view)
|
878
|
+
content_view.repositories.include? self
|
879
|
+
end
|
880
|
+
|
873
881
|
protected
|
874
882
|
|
875
883
|
def unit_type_for_removal(type_class = nil)
|
@@ -113,7 +113,7 @@ module Katello
|
|
113
113
|
end
|
114
114
|
|
115
115
|
def get_rhsm_mac(interface)
|
116
|
-
# if
|
116
|
+
# if secondary then permanent_mac_address contains the physical mac
|
117
117
|
facts["net.interface.#{interface}.permanent_mac_address"] || facts["net.interface.#{interface}.mac_address"]
|
118
118
|
end
|
119
119
|
end
|
@@ -65,7 +65,6 @@ module Katello
|
|
65
65
|
validate :ensure_valid_docker_tags_whitelist
|
66
66
|
validate :ensure_content_attribute_restrictions
|
67
67
|
validate :ensure_valid_upstream_authorization
|
68
|
-
validate :ensure_auto_enablement_not_set
|
69
68
|
validate :ensure_no_checksum_on_demand
|
70
69
|
validates :url, presence: true, if: :ostree?
|
71
70
|
validates :checksum_type, :inclusion => {:in => CHECKSUM_TYPES}, :allow_blank => true
|
@@ -103,6 +102,7 @@ module Katello
|
|
103
102
|
where(:http_proxy_policy => RootRepository::USE_SELECTED_HTTP_PROXY).
|
104
103
|
where(:http_proxy_id => http_proxy_id)
|
105
104
|
}
|
105
|
+
scope :orphaned, -> { where.not(id: Katello::Repository.pluck(:root_id).uniq) }
|
106
106
|
delegate :redhat?, :provider, :organization, to: :product
|
107
107
|
|
108
108
|
def library_instance
|
@@ -225,11 +225,6 @@ module Katello
|
|
225
225
|
end
|
226
226
|
end
|
227
227
|
|
228
|
-
def ensure_auto_enablement_not_set
|
229
|
-
return if new_record? || !auto_enabled_changed?
|
230
|
-
errors.add(:auto_enabled, N_("Auto Enablement may only be set on custom repositories.")) if redhat?
|
231
|
-
end
|
232
|
-
|
233
228
|
def custom_content_path
|
234
229
|
parts = []
|
235
230
|
# We generate repo path only for custom product content. We add this
|
@@ -288,7 +283,7 @@ module Katello
|
|
288
283
|
def pulp_update_needed?
|
289
284
|
changeable_attributes = %w(url unprotected checksum_type docker_upstream_name download_policy mirror_on_sync verify_ssl_on_sync
|
290
285
|
upstream_username upstream_password ostree_upstream_sync_policy ostree_upstream_sync_depth ignorable_content
|
291
|
-
ssl_ca_cert_id ssl_client_cert_id ssl_client_key_id http_proxy_policy http_proxy_id)
|
286
|
+
ssl_ca_cert_id ssl_client_cert_id ssl_client_key_id http_proxy_policy http_proxy_id download_concurrency)
|
292
287
|
changeable_attributes += %w(name container_repository_name docker_tags_whitelist) if docker?
|
293
288
|
changeable_attributes += %w(deb_releases deb_components deb_architectures gpg_key_id) if deb?
|
294
289
|
changeable_attributes += %w(ansible_collection_requirements) if ansible_collection?
|
@@ -332,14 +327,6 @@ module Katello
|
|
332
327
|
end
|
333
328
|
end
|
334
329
|
|
335
|
-
def content_enablements
|
336
|
-
product.root_repositories.map do |repo|
|
337
|
-
repo_content = { id: repo.content_id }
|
338
|
-
repo_content[:enabled] = repo.auto_enabled? if repo == self
|
339
|
-
repo_content
|
340
|
-
end
|
341
|
-
end
|
342
|
-
|
343
330
|
apipie :class, desc: 'A class representing Repository object' do
|
344
331
|
name 'Repository'
|
345
332
|
refs 'Repository'
|
@@ -121,6 +121,14 @@ module Katello
|
|
121
121
|
errors.add :base, _("Start Date and Time can't be blank") if self.sync_date.nil?
|
122
122
|
end
|
123
123
|
|
124
|
+
def sync_date_sans_tz
|
125
|
+
if User.current.try(:timezone)
|
126
|
+
return self.sync_date.strftime('%a, %d %b %Y %H:%M:%S')
|
127
|
+
else
|
128
|
+
sync_date
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
124
132
|
def next_sync
|
125
133
|
return nil unless self.enabled?
|
126
134
|
self.foreman_tasks_recurring_logic&.tasks&.order(:start_at)&.last&.start_at
|
@@ -92,7 +92,7 @@ class Setting::Content < Setting
|
|
92
92
|
self.set('check_services_before_actions', N_("Whether or not to check the status of backend services such as pulp and candlepin prior to performing some actions."),
|
93
93
|
true, N_('Check services before actions')),
|
94
94
|
self.set('foreman_proxy_content_batch_size', N_("How many repositories should be synced concurrently on the capsule. A smaller number may lead to longer sync times. A larger number will increase dynflow load."),
|
95
|
-
|
95
|
+
100, N_('Batch size to sync repositories in.')),
|
96
96
|
self.set('foreman_proxy_content_auto_sync', N_("Whether or not to auto sync the Smart Proxies after a Content View promotion."),
|
97
97
|
true, N_('Sync Smart Proxies after Content View promotion')),
|
98
98
|
self.set('default_download_policy', N_("Default download policy for custom repositories (either 'immediate', 'on_demand', or 'background')"), "immediate",
|
@@ -105,6 +105,8 @@ class Setting::Content < Setting
|
|
105
105
|
5000, N_('Pulp Docker registry port')),
|
106
106
|
self.set('pulp_export_destination', N_("On-disk location for exported repositories"),
|
107
107
|
"/var/lib/pulp/katello-export", N_('Pulp export destination filepath')),
|
108
|
+
self.set('pulpcore_export_destination', N_("On-disk location for pulp 3 exported repositories"),
|
109
|
+
"/var/lib/pulp/exports", N_('Pulp 3 export destination filepath')),
|
108
110
|
self.set('pulp_client_key', N_("Path for ssl key used for pulp server auth"),
|
109
111
|
"/etc/pki/katello/private/pulp-client.key", N_('Pulp client key')),
|
110
112
|
self.set('pulp_client_cert', N_("Path for ssl cert used for pulp server auth"),
|
data/app/services/cert/certs.rb
CHANGED
@@ -9,11 +9,19 @@ module Cert
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.ssl_client_cert
|
12
|
-
@ssl_client_cert ||= OpenSSL::X509::Certificate.new(File.open(
|
12
|
+
@ssl_client_cert ||= OpenSSL::X509::Certificate.new(File.open(ssl_client_cert_filename, 'r').read)
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.ssl_client_cert_filename
|
16
|
+
Setting['pulp_client_cert']
|
13
17
|
end
|
14
18
|
|
15
19
|
def self.ssl_client_key
|
16
|
-
@ssl_client_key ||= OpenSSL::PKey::RSA.new(File.open(
|
20
|
+
@ssl_client_key ||= OpenSSL::PKey::RSA.new(File.open(ssl_client_key_filename, 'r').read)
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.ssl_client_key_filename
|
24
|
+
Setting['pulp_client_key']
|
17
25
|
end
|
18
26
|
|
19
27
|
def self.verify_ueber_cert(organization)
|
@@ -53,6 +53,7 @@ module Katello
|
|
53
53
|
|
54
54
|
def reindex_purpose_status
|
55
55
|
reindex_consumer do
|
56
|
+
return if subscription_facet.host.organization.simple_content_access?
|
56
57
|
subscription_facet.update_purpose_status(role_status: message_handler.system_purpose.role_status,
|
57
58
|
usage_status: message_handler.system_purpose.usage_status,
|
58
59
|
addons_status: message_handler.system_purpose.addons_status,
|
@@ -9,5 +9,12 @@ module Katello
|
|
9
9
|
Katello::PurposeAddonsStatus,
|
10
10
|
Katello::PurposeStatus,
|
11
11
|
Katello::TraceStatus].freeze
|
12
|
+
|
13
|
+
PURPOSE_STATUS = [
|
14
|
+
Katello::PurposeStatus,
|
15
|
+
Katello::PurposeAddonsStatus,
|
16
|
+
Katello::PurposeRoleStatus,
|
17
|
+
Katello::PurposeSlaStatus,
|
18
|
+
Katello::PurposeUsageStatus].freeze
|
12
19
|
end
|
13
20
|
end
|