pulpcore 3.49.57__tar.gz → 3.49.63__tar.gz
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.
- {pulpcore-3.49.57 → pulpcore-3.49.63}/CHANGES.md +137 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/PKG-INFO +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/__init__.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/models.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py +5 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/api/test_x509_certguard.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/__init__.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/modelresource.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/tasks/publishing.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/tasks/synchronizing.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/manifest.py +0 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_auto_publish.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_domains.py +4 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_download_policies.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_publish.py +4 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_pulp_export.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_rbac.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_sync.py +2 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/apps.py +6 -11
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/authentication.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/checks.py +7 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/entrypoint.py +11 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/files.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/importexport.py +6 -6
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/add-signing-service.py +3 -7
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/analyze-publication.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/datarepair-2327.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/dump-publications-to-fs.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/handle-artifact-checksums.py +3 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/openapi.py +1 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/remove-plugin.py +4 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/remove-signing-service.py +2 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/repository-size.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/reset-admin-password.py +4 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/rotate-db-key.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/modelresource.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/access_policy.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/acs.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/analytics.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/content.py +7 -9
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/domain.py +4 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/fields.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/importer.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/publication.py +12 -13
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/replica.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/repository.py +7 -8
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/storage.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/task.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/upload.py +0 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/replica.py +6 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/role_util.py +4 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/acs.py +0 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/content.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/domain.py +3 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/publication.py +7 -8
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/reclaim.py +0 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/replica.py +2 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/upload.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/user.py +6 -7
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/settings.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/analytics.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/export.py +22 -12
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/importer.py +15 -18
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/orphan.py +0 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/purge.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/replica.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/repository.py +7 -9
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/templatetags/pulp_urls.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/urls.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/util.py +7 -10
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/views/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/views/importer.py +8 -7
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/base.py +6 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/custom_filters.py +6 -7
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/domain.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/exporter.py +5 -8
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/importer.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/publication.py +11 -11
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/repository.py +6 -7
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/task.py +5 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/upload.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/user.py +7 -9
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/wsgi.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/cache/__init__.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/cache/cache.py +6 -9
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/content/__init__.py +11 -12
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/content/authentication.py +5 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/content/entrypoint.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/content/handler.py +17 -20
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/content/instrumentation.py +7 -8
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/download/__init__.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/download/factory.py +6 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/download/file.py +0 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/download/http.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/exceptions/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/filters.py +9 -11
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/middleware.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/migrations.py +4 -7
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/openapi/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/__init__.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/authentication/__init__.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/cache/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/download/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/importexport.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/models/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/repo_version_utils.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/serializers/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/stages/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/stages/api.py +0 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/stages/artifact_stages.py +7 -9
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/stages/content_stages.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/stages/declarative_version.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/stages/models.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/tasking.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/util.py +6 -7
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/viewsets/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/viewsets/content.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tasking/_util.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tasking/entrypoint.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tasking/tasks.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tasking/worker.py +11 -12
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/__init__.py +2 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_api_docs.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_artifact_distribution.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_crd_artifacts.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_crud_domains.py +4 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_filter.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_openapi_schema.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_replication.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_role.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_root_endpoint.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_upload.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_users_groups.py +3 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_workers.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_content_path.py +1 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_distributions.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_orphans.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_proxy.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_pulpimport.py +3 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_purge.py +3 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_reclaim_disk_space.py +3 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_repair.py +3 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_repo_versions.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/content_with_coverage.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/conftest.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/content/test_handler.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/content/test_heartbeat.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/migration/test_0077_move_remote_url_credentials.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/models/test_base.py +3 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/models/test_content.py +2 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/models/test_remote.py +4 -4
- pulpcore-3.49.63/pulpcore/tests/unit/roles/test_adjust_roles.py +102 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/serializers/test_base.py +3 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/serializers/test_pulpexport.py +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/stages/test_artifactdownloader.py +5 -5
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/stages/test_stages.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_cache.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_import_checks.py +0 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_pulp_urls.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_util.py +2 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore.egg-info/PKG-INFO +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore.egg-info/SOURCES.txt +1 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore.egg-info/requires.txt +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pyproject.toml +29 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/requirements.txt +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/setup.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/CODE_OF_CONDUCT.md +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/COMMITMENT +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/CONTRIBUTING.md +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/COPYRIGHT +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/LICENSE +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/MANIFEST.in +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/README.md +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/ci_requirements.txt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/functest_requirements.txt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/manage.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/migrations/0001_initial.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/migrations/0002_alter_rhsmcertguard_contentguard_ptr_and_more.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/migrations/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/serializers.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/utils.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/app/viewsets.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/pytest_plugin.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.crt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.key +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/trusted_but_expired.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert-key.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713-key.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840-key.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985-key.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172-key.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/certificates/ca.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/genca.sh +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/keys/ca.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/certificates/ca.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/certificates/client.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/certificates/server.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/certificates/un_urlencoded_cert.txt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/certificates/untrusted_client.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/genall.sh +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/genca.sh +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/genclient.sh +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/gensrv.sh +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/keys/ca.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/keys/client.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/artifacts/x509/keys/server.pem +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/conftest.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/constants.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/unit/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/unit/test_models.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0001_initial.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0002_file_related_names.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0003_auto_20191014_1721.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0004_filefilesystemexporter.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0005_filerepository.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0006_delete_filefilesystemexporter.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0007_filefilesystemexporter.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0008_add_manifest_field.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0009_move_data_to_new_master_distribution_model.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0010_auto_publish.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0011_fix_auto_publish.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0012_delete_filefilesystemexporter.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0013_file_acs.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0014_new_rbac_permissions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0015_allow_null_manifest.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0016_add_domain.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/migrations/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/models.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/replica.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/serializers.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/tasks/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/app/viewsets.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/pytest_plugin.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_acs.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_bad_sync.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_crud_content_unit.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_crud_remotes.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_generic_list.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_labels.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_mime_types.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_remote_settings.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/unit/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/unit/test_serializers.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/access_policy.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/global_access_conditions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/loggers.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/manage.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/dump-permissions.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/shell.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0001_initial.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0011_relative_path.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0026_task_group.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0027_export_backend.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0029_export_delete.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0055_label.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0074_acs.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0091_systemid.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0099_versions_field.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0101_add_domain.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0104_delete_label.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0108_task_versions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0109_contentartifact_relative_path_index.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0110_apiappstatus.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0111_task_enc_args_task_enc_kwargs.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0112_alter_upstreampulp_options.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0113_headercontentguard.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0114_remove_task_args_remove_task_kwargs.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0115_compositecontentguard.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0116_alter_remoteartifact_md5_alter_remoteartifact_sha1_and_more.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/0117_task_unblocked_at.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/migrations/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/mime_types.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/base.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/exporter.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/generic.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/progress.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/role.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/models/status.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/protobuf/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/pulp_hashlib.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/pulpcore_gunicorn_application.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/redis_connection.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/response.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/access_policy.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/base.py +9 -9
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/exporter.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/fields.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/importer.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/orphans.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/progress.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/purge.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/repair.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/repository.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/status.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/serializers/task.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/base.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/reclaim_space.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/test.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/tasks/upload.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/templates/rest_framework/api.html +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/templatetags/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/views/orphans.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/views/repair.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/views/status.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/access_policy.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/acs.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/content.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/orphans.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/reclaim.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/viewsets/replica.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/backends.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/constants.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/download/base.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/exceptions/base.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/exceptions/plugin.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/exceptions/validation.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/openapi/hooks.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/access_policy.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/actions.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/apps.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/constants.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/content.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/exceptions.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/files.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/migrations.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/modelresources.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/models/role.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/publication_utils.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/pulp_hashlib.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/replica.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/responses.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/serializers/content.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/storage.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/plugin/sync.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/responses.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tasking/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tasking/storage.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_auth.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_repos.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_scoping.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_status.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/test_tasking.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_content_access.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_content_cache.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_content_delivery.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_content_promotion.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_contentguard.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_crud_repos.py +4 -4
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_filesystemexport.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_labels.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_pagination.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_tasks.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/api/using_plugin/test_unlinking_repo.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/assets/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/gpg_ascii_armor_signing_service.py +1 -1
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/functional/utils.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/performance/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/performance/test_performance.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/content/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/download/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/migration/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/models/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/models/test_repository.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/roles/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/roles/test_roles.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/serializers/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/serializers/test_domain.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/serializers/test_repository.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/stages/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_chunked_file.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_content_guard.py +3 -3
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_files.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_settings.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/test_viewsets.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/tests/unit/viewsets/test_viewset_base.py +2 -2
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore.egg-info/dependency_links.txt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore.egg-info/entry_points.txt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore.egg-info/top_level.txt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/setup.cfg +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/test_requirements.txt +0 -0
- {pulpcore-3.49.57 → pulpcore-3.49.63}/unittest_requirements.txt +0 -0
|
@@ -8,6 +8,143 @@
|
|
|
8
8
|
|
|
9
9
|
[//]: # (towncrier release notes start)
|
|
10
10
|
|
|
11
|
+
## 3.49.63 (2026-06-09) {: #3.49.63 }
|
|
12
|
+
|
|
13
|
+
### REST API {: #3.49.63-rest-api }
|
|
14
|
+
|
|
15
|
+
#### Bugfixes {: #3.49.63-rest-api-bugfix }
|
|
16
|
+
|
|
17
|
+
- Fixed `adjust_roles` to use `update_or_create` instead of `get_or_create` when populating locked roles, so that a pre-existing role with `locked=False` is updated rather than causing a duplicate key error.
|
|
18
|
+
|
|
19
|
+
### Plugin API {: #3.49.63-plugin-api }
|
|
20
|
+
|
|
21
|
+
No significant changes.
|
|
22
|
+
|
|
23
|
+
### Pulp File {: #3.49.63-pulp-file }
|
|
24
|
+
|
|
25
|
+
No significant changes.
|
|
26
|
+
|
|
27
|
+
### Pulp Cert Guard {: #3.49.63-pulp-cert-guard }
|
|
28
|
+
|
|
29
|
+
No significant changes.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 3.49.62 (2026-06-03) {: #3.49.62 }
|
|
34
|
+
|
|
35
|
+
### REST API {: #3.49.62-rest-api }
|
|
36
|
+
|
|
37
|
+
#### Bugfixes {: #3.49.62-rest-api-bugfix }
|
|
38
|
+
|
|
39
|
+
- Optimized `QueryExistingArtifacts` by reducing database queries.
|
|
40
|
+
[#7558](https://github.com/pulp/pulpcore/issues/7558)
|
|
41
|
+
|
|
42
|
+
### Plugin API {: #3.49.62-plugin-api }
|
|
43
|
+
|
|
44
|
+
No significant changes.
|
|
45
|
+
|
|
46
|
+
### Pulp File {: #3.49.62-pulp-file }
|
|
47
|
+
|
|
48
|
+
No significant changes.
|
|
49
|
+
|
|
50
|
+
### Pulp Cert Guard {: #3.49.62-pulp-cert-guard }
|
|
51
|
+
|
|
52
|
+
No significant changes.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 3.49.61 (2026-05-07) {: #3.49.61 }
|
|
57
|
+
|
|
58
|
+
### REST API {: #3.49.61-rest-api }
|
|
59
|
+
|
|
60
|
+
No significant changes.
|
|
61
|
+
|
|
62
|
+
### Plugin API {: #3.49.61-plugin-api }
|
|
63
|
+
|
|
64
|
+
No significant changes.
|
|
65
|
+
|
|
66
|
+
### Pulp File {: #3.49.61-pulp-file }
|
|
67
|
+
|
|
68
|
+
No significant changes.
|
|
69
|
+
|
|
70
|
+
### Pulp Cert Guard {: #3.49.61-pulp-cert-guard }
|
|
71
|
+
|
|
72
|
+
No significant changes.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 3.49.60 (2026-05-05) {: #3.49.60 }
|
|
77
|
+
|
|
78
|
+
### REST API {: #3.49.60-rest-api }
|
|
79
|
+
|
|
80
|
+
#### Bugfixes {: #3.49.60-rest-api-bugfix }
|
|
81
|
+
|
|
82
|
+
- Set default ``--max-requests 10000`` and ``--max-requests-jitter 500`` for API workers
|
|
83
|
+
to prevent unbounded RSS growth from glibc heap fragmentation over long-lived worker processes.
|
|
84
|
+
[#7482](https://github.com/pulp/pulpcore/issues/7482)
|
|
85
|
+
- Fixed `TypeError: 'str' object has no attribute 'tolower'` in `_ensure_bool` during incremental content exports. Changed `.tolower()` to `.lower()`.
|
|
86
|
+
[#7678](https://github.com/pulp/pulpcore/issues/7678)
|
|
87
|
+
|
|
88
|
+
### Plugin API {: #3.49.60-plugin-api }
|
|
89
|
+
|
|
90
|
+
No significant changes.
|
|
91
|
+
|
|
92
|
+
### Pulp File {: #3.49.60-pulp-file }
|
|
93
|
+
|
|
94
|
+
No significant changes.
|
|
95
|
+
|
|
96
|
+
### Pulp Cert Guard {: #3.49.60-pulp-cert-guard }
|
|
97
|
+
|
|
98
|
+
No significant changes.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 3.49.59 (2026-04-28) {: #3.49.59 }
|
|
103
|
+
|
|
104
|
+
### REST API {: #3.49.59-rest-api }
|
|
105
|
+
|
|
106
|
+
#### Bugfixes {: #3.49.59-rest-api-bugfix }
|
|
107
|
+
|
|
108
|
+
- Replace use of the deprecated distutils. The module has been removed in Python 3.12 .
|
|
109
|
+
[#7571](https://github.com/pulp/pulpcore/issues/7571)
|
|
110
|
+
|
|
111
|
+
### Plugin API {: #3.49.59-plugin-api }
|
|
112
|
+
|
|
113
|
+
No significant changes.
|
|
114
|
+
|
|
115
|
+
### Pulp File {: #3.49.59-pulp-file }
|
|
116
|
+
|
|
117
|
+
No significant changes.
|
|
118
|
+
|
|
119
|
+
### Pulp Cert Guard {: #3.49.59-pulp-cert-guard }
|
|
120
|
+
|
|
121
|
+
No significant changes.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 3.49.58 (2026-04-14) {: #3.49.58 }
|
|
126
|
+
|
|
127
|
+
### REST API {: #3.49.58-rest-api }
|
|
128
|
+
|
|
129
|
+
#### Bugfixes {: #3.49.58-rest-api-bugfix }
|
|
130
|
+
|
|
131
|
+
- Fixed `reset-admin-password` command failing when using `--random` option on Django 5.
|
|
132
|
+
[#7533](https://github.com/pulp/pulpcore/issues/7533)
|
|
133
|
+
|
|
134
|
+
### Plugin API {: #3.49.58-plugin-api }
|
|
135
|
+
|
|
136
|
+
No significant changes.
|
|
137
|
+
|
|
138
|
+
### Pulp File {: #3.49.58-pulp-file }
|
|
139
|
+
|
|
140
|
+
No significant changes.
|
|
141
|
+
|
|
142
|
+
### Pulp Cert Guard {: #3.49.58-pulp-cert-guard }
|
|
143
|
+
|
|
144
|
+
No significant changes.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
11
148
|
## 3.49.57 (2026-03-24) {: #3.49.57 }
|
|
12
149
|
|
|
13
150
|
### REST API {: #3.49.57-rest-api }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pulpcore
|
|
3
|
-
Version: 3.49.
|
|
3
|
+
Version: 3.49.63
|
|
4
4
|
Summary: Pulp Django Application and Related Modules
|
|
5
5
|
Home-page: https://pulpproject.org
|
|
6
6
|
Author: Pulp Team
|
|
@@ -25,7 +25,7 @@ Requires-Dist: aiohttp<3.14,>=3.9.0
|
|
|
25
25
|
Requires-Dist: asyncio-throttle<=1.0.2,>=1.0
|
|
26
26
|
Requires-Dist: async-timeout<4.0.4,>=4.0.3; python_version < "3.11"
|
|
27
27
|
Requires-Dist: backoff<2.2.2,>=2.1.2
|
|
28
|
-
Requires-Dist: click
|
|
28
|
+
Requires-Dist: click<8.4,>=8.1.0
|
|
29
29
|
Requires-Dist: cryptography<47.0,>=38.0.1
|
|
30
30
|
Requires-Dist: Django!=5.0,!=5.1,<5.3,>=4.2.24
|
|
31
31
|
Requires-Dist: django-filter<=25.2,>=23.1
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
from logging import getLogger
|
|
2
|
-
from gettext import gettext as _
|
|
3
1
|
import re
|
|
2
|
+
from gettext import gettext as _
|
|
3
|
+
from logging import getLogger
|
|
4
4
|
from urllib.parse import unquote
|
|
5
5
|
|
|
6
6
|
from django.conf import settings
|
|
7
7
|
from django.db import models
|
|
8
|
-
|
|
9
8
|
from OpenSSL import crypto as openssl
|
|
10
9
|
|
|
11
10
|
from pulpcore.plugin.models import ContentGuard
|
{pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py
RENAMED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import pytest
|
|
2
1
|
import uuid
|
|
2
|
+
from urllib.parse import quote, urljoin
|
|
3
3
|
|
|
4
|
+
import pytest
|
|
4
5
|
import requests
|
|
5
|
-
from urllib.parse import urljoin, quote
|
|
6
6
|
from django.conf import settings
|
|
7
7
|
|
|
8
8
|
from pulp_certguard.tests.functional.constants import (
|
|
9
9
|
RHSM_CA_CERT_FILE_PATH,
|
|
10
10
|
RHSM_CLIENT_CERT_FROM_UNTRUSTED_CA,
|
|
11
11
|
RHSM_CLIENT_CERT_TRUSTED_BUT_EXPIRED,
|
|
12
|
-
THIRDPARTY_CA_CERT_FILE_PATH,
|
|
13
12
|
RHSM_UBER_CERT_BASE_PATH_ONE,
|
|
14
13
|
RHSM_UBER_CERT_BASE_PATH_TWO,
|
|
15
14
|
RHSM_UBER_CLIENT_CERT,
|
|
16
15
|
RHSM_V1_ONE_AND_TWO_VAR_CLIENT_CERT,
|
|
17
16
|
RHSM_V1_ONE_VAR_BASE_PATH,
|
|
18
17
|
RHSM_V1_TWO_VAR_BASE_PATH,
|
|
19
|
-
RHSM_V1_ZERO_VAR_CLIENT_CERT,
|
|
20
18
|
RHSM_V1_ZERO_VAR_BASE_PATH,
|
|
19
|
+
RHSM_V1_ZERO_VAR_CLIENT_CERT,
|
|
21
20
|
RHSM_V3_INVALID_BASE_PATH,
|
|
22
21
|
RHSM_V3_ONE_AND_TWO_VAR_CLIENT_CERT,
|
|
23
22
|
RHSM_V3_ONE_VAR_BASE_PATH,
|
|
24
23
|
RHSM_V3_TWO_VAR_BASE_PATH,
|
|
25
|
-
RHSM_V3_ZERO_VAR_CLIENT_CERT,
|
|
26
24
|
RHSM_V3_ZERO_VAR_BASE_PATH,
|
|
25
|
+
RHSM_V3_ZERO_VAR_CLIENT_CERT,
|
|
26
|
+
THIRDPARTY_CA_CERT_FILE_PATH,
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
if settings.DOMAIN_ENABLED:
|
{pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_certguard/tests/functional/api/test_x509_certguard.py
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import pytest
|
|
2
1
|
import uuid
|
|
2
|
+
from urllib.parse import quote, urljoin
|
|
3
3
|
|
|
4
|
+
import pytest
|
|
4
5
|
import requests
|
|
5
|
-
from urllib.parse import urljoin, quote
|
|
6
6
|
|
|
7
7
|
from pulp_certguard.tests.functional.constants import (
|
|
8
8
|
X509_BASE_PATH,
|
|
9
9
|
X509_CA_CERT_FILE_PATH,
|
|
10
10
|
X509_CLIENT_CERT_FILE_PATH,
|
|
11
|
-
X509_UNTRUSTED_CLIENT_CERT_FILE_PATH,
|
|
12
11
|
X509_UN_URLENCODED_CLIENT_CERT_FILE_PATH,
|
|
12
|
+
X509_UNTRUSTED_CLIENT_CERT_FILE_PATH,
|
|
13
13
|
)
|
|
14
14
|
|
|
15
15
|
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import tempfile
|
|
3
|
-
|
|
4
3
|
from gettext import gettext as _
|
|
5
4
|
|
|
6
5
|
from django.core.files import File
|
|
7
6
|
|
|
8
7
|
from pulpcore.plugin.models import (
|
|
9
8
|
ContentArtifact,
|
|
10
|
-
RepositoryVersion,
|
|
11
9
|
PublishedMetadata,
|
|
12
10
|
RemoteArtifact,
|
|
11
|
+
RepositoryVersion,
|
|
13
12
|
)
|
|
14
13
|
|
|
15
14
|
from pulp_file.app.models import FilePublication
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import os
|
|
3
|
-
|
|
4
3
|
from gettext import gettext as _
|
|
5
4
|
from urllib.parse import urlparse, urlunparse
|
|
6
5
|
|
|
7
6
|
from django.core.files import File
|
|
8
7
|
|
|
9
|
-
from pulpcore.plugin.models import Artifact, ProgressReport,
|
|
8
|
+
from pulpcore.plugin.models import Artifact, ProgressReport, PublishedMetadata, Remote
|
|
10
9
|
from pulpcore.plugin.stages import (
|
|
11
10
|
DeclarativeArtifact,
|
|
12
11
|
DeclarativeContent,
|
|
@@ -14,7 +13,7 @@ from pulpcore.plugin.stages import (
|
|
|
14
13
|
Stage,
|
|
15
14
|
)
|
|
16
15
|
|
|
17
|
-
from pulp_file.app.models import FileContent, FileRemote, FileRepository
|
|
16
|
+
from pulp_file.app.models import FileContent, FilePublication, FileRemote, FileRepository
|
|
18
17
|
from pulp_file.manifest import Manifest
|
|
19
18
|
|
|
20
19
|
log = logging.getLogger(__name__)
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import pytest
|
|
2
|
-
import uuid
|
|
3
1
|
import json
|
|
2
|
+
import uuid
|
|
3
|
+
|
|
4
|
+
import pytest
|
|
4
5
|
|
|
5
6
|
from pulpcore.app import settings
|
|
6
7
|
from pulpcore.client.pulp_file import ApiException
|
|
7
8
|
from pulpcore.client.pulpcore import ApiException as CoreApiException
|
|
8
9
|
from pulpcore.client.pulpcore import Repair
|
|
9
|
-
from pulpcore.tests.functional.utils import
|
|
10
|
+
from pulpcore.tests.functional.utils import download_file, generate_iso
|
|
10
11
|
|
|
11
12
|
pytestmark = pytest.mark.skipif(not settings.DOMAIN_ENABLED, reason="Domains not enabled.")
|
|
12
13
|
|
{pulpcore-3.49.57 → pulpcore-3.49.63}/pulp_file/tests/functional/api/test_download_policies.py
RENAMED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"""Tests for Pulp`s download policies."""
|
|
2
2
|
|
|
3
|
-
from aiohttp.client_exceptions import ClientResponseError
|
|
4
|
-
from bs4 import BeautifulSoup
|
|
5
3
|
import hashlib
|
|
6
4
|
import os
|
|
7
|
-
import pytest
|
|
8
5
|
import subprocess
|
|
9
6
|
import uuid
|
|
10
7
|
from urllib.parse import urljoin
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
import pytest
|
|
10
|
+
from aiohttp.client_exceptions import ClientResponseError
|
|
11
|
+
from bs4 import BeautifulSoup
|
|
13
12
|
|
|
14
13
|
from pulpcore.client.pulp_file import FileFilePublication, RepositorySyncURL
|
|
14
|
+
from pulpcore.tests.functional.utils import download_file, get_files_in_manifest
|
|
15
15
|
|
|
16
16
|
OBJECT_STORAGES = (
|
|
17
17
|
"storages.backends.s3boto3.S3Boto3Storage",
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"""Tests that publish file plugin repositories."""
|
|
2
2
|
|
|
3
|
-
from aiohttp import BasicAuth
|
|
4
3
|
import json
|
|
5
|
-
import pytest
|
|
6
4
|
from urllib.parse import urljoin
|
|
7
5
|
|
|
6
|
+
import pytest
|
|
7
|
+
from aiohttp import BasicAuth
|
|
8
|
+
|
|
8
9
|
from pulpcore.client.pulp_file import (
|
|
9
|
-
RepositorySyncURL,
|
|
10
10
|
FileFilePublication,
|
|
11
|
+
RepositorySyncURL,
|
|
11
12
|
)
|
|
12
13
|
from pulpcore.client.pulp_file.exceptions import ApiException
|
|
13
14
|
from pulpcore.tests.functional.utils import download_file
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import pytest
|
|
2
1
|
import uuid
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
5
|
from pulpcore.app import settings
|
|
6
|
+
from pulpcore.client.pulpcore.exceptions import ApiException
|
|
6
7
|
from pulpcore.constants import TASK_STATES
|
|
7
8
|
|
|
8
9
|
pytestmark = [
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import pytest
|
|
2
1
|
import uuid
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
|
+
from pulpcore.client.pulp_file import ApiException, AsyncOperationResponse
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
@pytest.fixture()
|
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
4
|
import uuid
|
|
5
|
-
|
|
6
|
-
import pytest
|
|
7
|
-
|
|
8
5
|
from urllib.parse import urljoin
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
import pytest
|
|
11
8
|
|
|
12
9
|
from pulpcore.client.pulp_file import RepositorySyncURL
|
|
10
|
+
from pulpcore.tests.functional.utils import PulpTaskError
|
|
13
11
|
|
|
14
12
|
|
|
15
13
|
def test_sync_file_protocol_handler(
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import random
|
|
2
|
-
|
|
3
2
|
from collections import defaultdict
|
|
4
3
|
from gettext import gettext as _
|
|
5
4
|
from importlib import import_module
|
|
@@ -164,8 +163,8 @@ class PulpPluginAppConfig(apps.AppConfig):
|
|
|
164
163
|
def import_viewsets(self):
|
|
165
164
|
# TODO do not include imported ViewSets
|
|
166
165
|
# circular import avoidance
|
|
166
|
+
from pulpcore.app.models import Content, Repository
|
|
167
167
|
from pulpcore.app.viewsets import NamedModelViewSet
|
|
168
|
-
from pulpcore.app.models import Repository, Content
|
|
169
168
|
|
|
170
169
|
self.named_viewsets = defaultdict(list)
|
|
171
170
|
if module_has_submodule(self.module, VIEWSETS_MODULE_NAME):
|
|
@@ -243,7 +242,7 @@ class PulpAppConfig(PulpPluginAppConfig):
|
|
|
243
242
|
label = "core"
|
|
244
243
|
|
|
245
244
|
# The version of this app
|
|
246
|
-
version = "3.49.
|
|
245
|
+
version = "3.49.63"
|
|
247
246
|
|
|
248
247
|
# The python package name providing this app
|
|
249
248
|
python_package_name = "pulpcore"
|
|
@@ -286,10 +285,8 @@ def _clean_app_status(sender, apps, verbosity, **kwargs):
|
|
|
286
285
|
except LookupError:
|
|
287
286
|
if verbosity >= 1:
|
|
288
287
|
print(
|
|
289
|
-
_(
|
|
290
|
-
|
|
291
|
-
app_name=app_name
|
|
292
|
-
)
|
|
288
|
+
_("{app_name} model does not exist. Skipping initialization.").format(
|
|
289
|
+
app_name=app_name
|
|
293
290
|
)
|
|
294
291
|
)
|
|
295
292
|
else:
|
|
@@ -417,11 +414,9 @@ def adjust_roles(apps, role_prefix, desired_roles, verbosity=1):
|
|
|
417
414
|
_("Locked role definition for {name} is incompatible.").format(name=name)
|
|
418
415
|
)
|
|
419
416
|
permissions = [_get_permission(perm) for perm in permissions]
|
|
420
|
-
role, created = Role.objects.
|
|
421
|
-
name=name,
|
|
417
|
+
role, created = Role.objects.update_or_create(
|
|
418
|
+
name=name, defaults={"name": name, "locked": True, "description": description}
|
|
422
419
|
)
|
|
423
|
-
role.description = description
|
|
424
|
-
role.save()
|
|
425
420
|
role.permissions.set(permissions)
|
|
426
421
|
|
|
427
422
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import json
|
|
2
|
-
import jq
|
|
3
2
|
import logging
|
|
4
|
-
|
|
5
3
|
from base64 import b64decode
|
|
6
4
|
from binascii import Error as Base64DecodeError
|
|
7
5
|
from gettext import gettext as _
|
|
8
6
|
|
|
7
|
+
import jq
|
|
9
8
|
from django.contrib.auth import authenticate
|
|
10
9
|
from django.contrib.auth.backends import RemoteUserBackend
|
|
11
10
|
from rest_framework.authentication import BaseAuthentication, RemoteUserAuthentication
|
|
@@ -3,11 +3,17 @@ from pathlib import Path
|
|
|
3
3
|
from django.conf import settings
|
|
4
4
|
from django.core.checks import (
|
|
5
5
|
Debug as CheckDebug,
|
|
6
|
+
)
|
|
7
|
+
from django.core.checks import (
|
|
6
8
|
Error as CheckError,
|
|
7
|
-
|
|
9
|
+
)
|
|
10
|
+
from django.core.checks import (
|
|
8
11
|
Tags,
|
|
9
12
|
register,
|
|
10
13
|
)
|
|
14
|
+
from django.core.checks import (
|
|
15
|
+
Warning as CheckWarning,
|
|
16
|
+
)
|
|
11
17
|
from django.db.models import Q
|
|
12
18
|
|
|
13
19
|
from pulpcore import constants
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
from contextvars import ContextVar
|
|
2
|
-
from logging import getLogger
|
|
3
1
|
import os
|
|
4
2
|
import socket
|
|
3
|
+
from contextvars import ContextVar
|
|
4
|
+
from logging import getLogger
|
|
5
5
|
|
|
6
6
|
import click
|
|
7
7
|
import django
|
|
8
8
|
from django.conf import settings
|
|
9
9
|
from django.db import connection
|
|
10
|
-
from django.db.utils import
|
|
10
|
+
from django.db.utils import DatabaseError, InterfaceError
|
|
11
11
|
from gunicorn.workers.sync import SyncWorker
|
|
12
12
|
|
|
13
13
|
from pulpcore.app.apps import pulp_plugin_configs
|
|
@@ -88,6 +88,13 @@ class PulpcoreApiApplication(PulpcoreGunicornApplication):
|
|
|
88
88
|
PulpApiWorker.__module__ + "." + PulpApiWorker.__qualname__,
|
|
89
89
|
enforced=True,
|
|
90
90
|
)
|
|
91
|
+
# Gunicorn's default for max_requests is 0 (unlimited worker lifetime). Apply Pulp defaults
|
|
92
|
+
# only when the user did not pass --max-requests on the pulpcore-api CLI. An explicit
|
|
93
|
+
# --max-requests 0 means "disable recycling" and must not be replaced.
|
|
94
|
+
if self.cfg.max_requests == 0 and self.options.get("max_requests") is None:
|
|
95
|
+
self.cfg.set("max_requests", 10000)
|
|
96
|
+
if self.options.get("max_requests_jitter") is None:
|
|
97
|
+
self.cfg.set("max_requests_jitter", 500)
|
|
91
98
|
|
|
92
99
|
def load(self):
|
|
93
100
|
using_pulp_api_worker.set(True)
|
|
@@ -119,8 +126,7 @@ class PulpcoreApiApplication(PulpcoreGunicornApplication):
|
|
|
119
126
|
"--access-logformat",
|
|
120
127
|
"access_log_format",
|
|
121
128
|
default=(
|
|
122
|
-
|
|
123
|
-
'%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"',
|
|
129
|
+
'pulp [%({correlation-id}o)s]: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"',
|
|
124
130
|
),
|
|
125
131
|
)
|
|
126
132
|
@click.option("--error-logfile", "--log-file", "errorlog")
|
|
@@ -5,8 +5,7 @@ from django.core.files.uploadedfile import TemporaryUploadedFile
|
|
|
5
5
|
from django.core.files.uploadhandler import TemporaryFileUploadHandler
|
|
6
6
|
from pygtrie import StringTrie
|
|
7
7
|
|
|
8
|
-
from pulpcore.app import models
|
|
9
|
-
from pulpcore.app import pulp_hashlib
|
|
8
|
+
from pulpcore.app import models, pulp_hashlib
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
class PulpTemporaryUploadedFile(TemporaryUploadedFile):
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import os
|
|
2
1
|
import io
|
|
3
2
|
import json
|
|
3
|
+
import logging
|
|
4
|
+
import os
|
|
4
5
|
import tarfile
|
|
5
6
|
import tempfile
|
|
6
|
-
import logging
|
|
7
7
|
|
|
8
8
|
from django.conf import settings
|
|
9
9
|
from django.db.models.query import QuerySet
|
|
10
10
|
|
|
11
11
|
from pulpcore.app.apps import get_plugin_config
|
|
12
|
-
from pulpcore.app.models.content import Artifact
|
|
13
|
-
from pulpcore.app.models.progress import ProgressReport
|
|
14
|
-
from pulpcore.app.models.repository import Repository
|
|
15
12
|
from pulpcore.app.modelresource import (
|
|
16
13
|
ArtifactResource,
|
|
17
14
|
ContentArtifactResource,
|
|
18
15
|
RepositoryResource,
|
|
19
16
|
)
|
|
20
|
-
from pulpcore.
|
|
17
|
+
from pulpcore.app.models.content import Artifact
|
|
18
|
+
from pulpcore.app.models.progress import ProgressReport
|
|
19
|
+
from pulpcore.app.models.repository import Repository
|
|
20
|
+
from pulpcore.constants import EXPORT_BATCH_SIZE, TASK_STATES
|
|
21
21
|
|
|
22
22
|
log = logging.getLogger(__name__)
|
|
23
23
|
|
{pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/add-signing-service.py
RENAMED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import os
|
|
2
|
-
|
|
3
|
-
import gnupg
|
|
4
|
-
|
|
5
|
-
from pathlib import Path
|
|
6
|
-
|
|
7
2
|
from gettext import gettext as _
|
|
3
|
+
from pathlib import Path
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
import gnupg
|
|
11
6
|
from django.apps import apps
|
|
7
|
+
from django.core.management import BaseCommand, CommandError
|
|
12
8
|
from django.db.utils import IntegrityError
|
|
13
9
|
|
|
14
10
|
from pulpcore.app.models.content import SigningService as BaseSigningService
|
{pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/analyze-publication.py
RENAMED
|
@@ -3,7 +3,7 @@ from gettext import gettext as _
|
|
|
3
3
|
from django.core.management import BaseCommand, CommandError
|
|
4
4
|
from django.urls import reverse
|
|
5
5
|
|
|
6
|
-
from pulpcore.app.models import
|
|
6
|
+
from pulpcore.app.models import Artifact, Distribution, Publication
|
|
7
7
|
from pulpcore.app.util import get_view_name_for_model
|
|
8
8
|
|
|
9
9
|
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
from gettext import gettext as _
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import cryptography
|
|
4
4
|
from django.conf import settings
|
|
5
5
|
from django.core.management import BaseCommand
|
|
6
|
+
from django.db import connection
|
|
6
7
|
from django.db.models import Q
|
|
7
8
|
from django.utils.encoding import force_bytes, force_str
|
|
8
9
|
|
|
9
|
-
import cryptography
|
|
10
|
-
|
|
11
10
|
from pulpcore.app.models import Remote
|
|
12
11
|
|
|
13
12
|
|
{pulpcore-3.49.57 → pulpcore-3.49.63}/pulpcore/app/management/commands/dump-publications-to-fs.py
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
from gettext import gettext as _
|
|
2
1
|
import logging
|
|
3
2
|
import os
|
|
3
|
+
from gettext import gettext as _
|
|
4
4
|
|
|
5
5
|
from django.core.exceptions import ObjectDoesNotExist
|
|
6
6
|
from django.core.management import BaseCommand, CommandError
|
|
7
7
|
|
|
8
|
-
from pulpcore.app.models import
|
|
8
|
+
from pulpcore.app.models import Distribution, Publication
|
|
9
9
|
from pulpcore.app.tasks.export import (
|
|
10
|
-
_export_publication_to_file_system,
|
|
11
|
-
_export_location_is_clean,
|
|
12
10
|
UnexportableArtifactException,
|
|
11
|
+
_export_location_is_clean,
|
|
12
|
+
_export_publication_to_file_system,
|
|
13
13
|
)
|
|
14
14
|
from pulpcore.app.viewsets.base import NamedModelViewSet
|
|
15
15
|
from pulpcore.constants import FS_EXPORT_METHODS
|