pulpcore 3.22.2__tar.gz → 3.23.0__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.22.2 → pulpcore-3.23.0}/CHANGES.rst +309 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/PKG-INFO +2 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/functest_requirements.txt +2 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/apps.py +53 -4
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/global_access_conditions.py +141 -6
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/add-signing-service.py +1 -3
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -4
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/remove-plugin.py +1 -6
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/remove-signing-service.py +1 -3
- pulpcore-3.23.0/pulpcore/app/migrations/0099_versions_field.py +24 -0
- pulpcore-3.23.0/pulpcore/app/migrations/0100_upstreampulp.py +38 -0
- pulpcore-3.23.0/pulpcore/app/migrations/0101_add_domain.py +61 -0
- pulpcore-3.23.0/pulpcore/app/migrations/0102_add_domain_relations.py +212 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/__init__.py +5 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/acs.py +5 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/content.py +61 -23
- pulpcore-3.23.0/pulpcore/app/models/domain.py +55 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/fields.py +45 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/importer.py +18 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/publication.py +28 -14
- pulpcore-3.23.0/pulpcore/app/models/replica.py +32 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/repository.py +20 -7
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/role.py +8 -2
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/status.py +2 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/storage.py +21 -2
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/task.py +6 -15
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/upload.py +14 -1
- pulpcore-3.23.0/pulpcore/app/protobuf/analytics_pb2.py +33 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/redis_connection.py +1 -1
- pulpcore-3.23.0/pulpcore/app/replica.py +220 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/response.py +9 -2
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/role_util.py +141 -37
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/__init__.py +3 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/acs.py +8 -3
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/base.py +270 -204
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/content.py +2 -1
- pulpcore-3.23.0/pulpcore/app/serializers/domain.py +380 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/fields.py +12 -5
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/importer.py +5 -2
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/publication.py +15 -13
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/reclaim.py +2 -1
- pulpcore-3.23.0/pulpcore/app/serializers/replica.py +105 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/repository.py +40 -14
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/status.py +6 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/user.py +84 -46
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/settings.py +9 -7
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/__init__.py +2 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/analytics.py +23 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/base.py +9 -3
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/purge.py +9 -3
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/reclaim_space.py +4 -2
- pulpcore-3.23.0/pulpcore/app/tasks/replica.py +81 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/repository.py +9 -4
- pulpcore-3.23.0/pulpcore/app/tasks/test.py +14 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/templatetags/pulp_urls.py +2 -2
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/urls.py +21 -24
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/util.py +143 -12
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/views/orphans.py +5 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/views/repair.py +1 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/views/status.py +7 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/__init__.py +3 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/base.py +20 -4
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/content.py +6 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/custom_filters.py +16 -5
- pulpcore-3.23.0/pulpcore/app/viewsets/domain.py +120 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/exporter.py +10 -3
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/importer.py +6 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/orphans.py +4 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/publication.py +19 -11
- pulpcore-3.23.0/pulpcore/app/viewsets/replica.py +57 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/repository.py +10 -3
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/task.py +7 -9
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/upload.py +5 -5
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/user.py +6 -21
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/backends.py +34 -23
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/cache/cache.py +1 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/content/__init__.py +11 -3
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/content/authentication.py +25 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/content/handler.py +35 -18
- pulpcore-3.23.0/pulpcore/middleware.py +37 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/openapi/__init__.py +26 -12
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/actions.py +8 -30
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/models/__init__.py +1 -0
- pulpcore-3.23.0/pulpcore/plugin/replica.py +1 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/serializers/__init__.py +3 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/serializers/content.py +3 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/stages/__init__.py +1 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/stages/api.py +3 -8
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/stages/artifact_stages.py +52 -19
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/util.py +12 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/viewsets/__init__.py +2 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/viewsets/content.py +3 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/responses.py +5 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tasking/pulpcore_worker.py +54 -40
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tasking/tasks.py +7 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/__init__.py +438 -22
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_artifact_distribution.py +2 -1
- pulpcore-3.23.0/pulpcore/tests/functional/api/test_crud_domains.py +237 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_openapi_schema.py +2 -2
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_status.py +1 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_tasking.py +21 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_users_groups.py +11 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_workers.py +1 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/utils.py +19 -1
- pulpcore-3.23.0/pulpcore/tests/unit/serializers/test_domain.py +134 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore.egg-info/PKG-INFO +2 -1
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore.egg-info/SOURCES.txt +16 -2
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore.egg-info/requires.txt +16 -13
- {pulpcore-3.22.2 → pulpcore-3.23.0}/requirements.txt +13 -13
- {pulpcore-3.22.2 → pulpcore-3.23.0}/setup.py +2 -1
- pulpcore-3.22.2/pulpcore/app/management/commands/stage-profile-summary.py +0 -77
- pulpcore-3.22.2/pulpcore/app/protobuf/analytics_pb2.py +0 -77
- pulpcore-3.22.2/pulpcore/app/tasks/test.py +0 -3
- pulpcore-3.22.2/pulpcore/plugin/stages/profiler.py +0 -180
- {pulpcore-3.22.2 → pulpcore-3.23.0}/CODE_OF_CONDUCT.md +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/COMMITMENT +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/CONTRIBUTING.md +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/COPYRIGHT +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/LICENSE +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/MANIFEST.in +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/README.md +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/bin/pulp-content +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/manage.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/access_policy.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/authentication.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/checks.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/files.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/importexport.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/loggers.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/manage.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/analyze-publication.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/datarepair-labels.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/dump-permissions.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0001_initial.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0011_relative_path.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0026_task_group.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0027_export_backend.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0029_export_delete.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0055_label.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0074_acs.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0091_systemid.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/migrations/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/mime_types.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/modelresource.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/access_policy.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/analytics.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/base.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/exporter.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/generic.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/models/progress.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/protobuf/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/pulp_hashlib.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/access_policy.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/exporter.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/orphans.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/progress.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/purge.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/repair.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/task.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/serializers/upload.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/export.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/importer.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/orphan.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/tasks/upload.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/templates/rest_framework/api.html +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/templatetags/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/views/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/views/importer.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/access_policy.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/acs.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/viewsets/reclaim.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/app/wsgi.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/cache/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/constants.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/download/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/download/base.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/download/factory.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/download/file.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/download/http.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/exceptions/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/exceptions/base.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/exceptions/plugin.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/exceptions/validation.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/filters.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/access_policy.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/apps.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/authentication/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/cache/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/constants.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/content.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/download/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/exceptions.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/files.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/importexport.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/modelresources.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/models/role.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/publication_utils.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/pulp_hashlib.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/repo_version_utils.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/responses.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/stages/content_stages.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/stages/declarative_version.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/stages/models.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/storage.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/sync.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/plugin/tasking.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tasking/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tasking/constants.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tasking/entrypoint.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tasking/storage.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tasking/util.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_auth.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_role.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_scoping.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/api/test_upload.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/content_with_coverage.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/functional/gpg_ascii_armor_signing_service.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/content/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/content/test_handler.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/download/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/download/test_download_base.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/download/test_factory.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/migrations/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/migrations/test_0077_move_remote_url_credentials.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/models/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/models/test_content.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/models/test_remote.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/models/test_repository.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/roles/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/roles/test_roles.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/serializers/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/serializers/test_base.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/stages/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/stages/test_stages.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/test_cache.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/test_content_guard.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/test_files.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/test_import_checks.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/test_settings.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/test_util.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore/tests/unit/viewsets/test_base.py +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore.egg-info/dependency_links.txt +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore.egg-info/entry_points.txt +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pulpcore.egg-info/top_level.txt +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/pyproject.toml +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/setup.cfg +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/test_requirements.txt +0 -0
- {pulpcore-3.22.2 → pulpcore-3.23.0}/unittest_requirements.txt +0 -0
|
@@ -17,6 +17,159 @@ Changelog
|
|
|
17
17
|
|
|
18
18
|
.. towncrier release notes start
|
|
19
19
|
|
|
20
|
+
3.23.0 (2023-03-14)
|
|
21
|
+
===================
|
|
22
|
+
REST API
|
|
23
|
+
--------
|
|
24
|
+
|
|
25
|
+
Features
|
|
26
|
+
~~~~~~~~
|
|
27
|
+
|
|
28
|
+
- Added a repository exact and in filters to the Distributions API.
|
|
29
|
+
:github:`3394`
|
|
30
|
+
- Added a new optional multi-tenancy namespacing feature: Domains. See workflow documentation for more
|
|
31
|
+
information on this tech-preview feature.
|
|
32
|
+
:github:`3403`
|
|
33
|
+
- Add GCP support
|
|
34
|
+
:github:`3424`
|
|
35
|
+
- Added ``retain_repo_versions`` filter to Repository endpoint.
|
|
36
|
+
:github:`3507`
|
|
37
|
+
- Pass correlation id to signing script through ENV variable
|
|
38
|
+
:github:`3522`
|
|
39
|
+
- Added ability to replicate distributions/repositories from another Pulp.
|
|
40
|
+
:github:`3566`
|
|
41
|
+
- Started to collect statistics about RBAC (amd domain) usage.
|
|
42
|
+
:github:`3639`
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
Bugfixes
|
|
46
|
+
~~~~~~~~
|
|
47
|
+
|
|
48
|
+
- Bump dynaconf version to 3.1.12 given it fixes a bug to handle failures when pwd does not exist.
|
|
49
|
+
:github:`3310`
|
|
50
|
+
- Added validation to the repository modify endpoint.
|
|
51
|
+
:github:`3326`
|
|
52
|
+
- Addressed a possible N+1 query performance issue within reclaim_space task.
|
|
53
|
+
:github:`3404`
|
|
54
|
+
- Added repeating logic to signalling a task worker subprocess. This should fix a bug where the
|
|
55
|
+
task refuses to be terminated easily.
|
|
56
|
+
:github:`3407`
|
|
57
|
+
- Added a ``start_repository_version`` parameter to the file system exporter.
|
|
58
|
+
|
|
59
|
+
If specified, it will export only content units that differed between two repository versions.
|
|
60
|
+
:github:`3413`
|
|
61
|
+
- Fixed the label migration code for not null constraint errors when objects with and without labels
|
|
62
|
+
are migrated.
|
|
63
|
+
:github:`3495`
|
|
64
|
+
- Added int64 format to integer fields in api schema.
|
|
65
|
+
:github:`3590`
|
|
66
|
+
- Fixed a bug that caused Pulp to return duplicate content when a user was logged in as a
|
|
67
|
+
non-superuser while the content was part of multiple repositories.
|
|
68
|
+
:github:`3641`
|
|
69
|
+
- Added missing validation to the ``repair`` endpoint.
|
|
70
|
+
:github:`3645`
|
|
71
|
+
- Fixed bug related to pulpcore-content serving content from a remote (pull-through-cache).
|
|
72
|
+
:github:`3654`
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
Improved Documentation
|
|
76
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
77
|
+
|
|
78
|
+
- Revisited features in tech preview (e.g., ACS, RBAC, metadata signing, import/export) and marked
|
|
79
|
+
them production ready.
|
|
80
|
+
:github:`3429`
|
|
81
|
+
- Documented PostgreSQL version compatibility and incompatibility with transaction based connection
|
|
82
|
+
pooling.
|
|
83
|
+
:github:`3505`
|
|
84
|
+
- Updated the release-process doc to be more complete.
|
|
85
|
+
:github:`3514`
|
|
86
|
+
- Added links to the Containerfiles used for building the pulp and pulp-minimal OCI images.
|
|
87
|
+
:github:`3627`
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
Removals
|
|
91
|
+
~~~~~~~~
|
|
92
|
+
|
|
93
|
+
- Removed the PROFILE_STAGES_API setting along with the dependent code.
|
|
94
|
+
:github:`3595`
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
Misc
|
|
98
|
+
~~~~
|
|
99
|
+
|
|
100
|
+
- :github:`3446`, :github:`3541`, :github:`3569`, :github:`3574`, :github:`3584`, :github:`3638`
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
Plugin API
|
|
104
|
+
----------
|
|
105
|
+
|
|
106
|
+
Features
|
|
107
|
+
~~~~~~~~
|
|
108
|
+
|
|
109
|
+
- Refactored ``ArtifactDownloader`` stage logic into base class ``GenericDownloader`` and allow for
|
|
110
|
+
the progress reports message and code to be customized by subclasses.
|
|
111
|
+
:github:`1931`
|
|
112
|
+
- Added version information to the worker records in the database.
|
|
113
|
+
:github:`3365`
|
|
114
|
+
- Added new config option ``domain_compatible`` to ``PluginAppConfig`` to specify Domains feature
|
|
115
|
+
compatibility within a plugin. See Domains compatibility documentation in plugin-writer section for
|
|
116
|
+
more information.
|
|
117
|
+
:github:`3403`
|
|
118
|
+
- Exported ``TaskSerializer`` in ``pulpcore.plugin.serializers``
|
|
119
|
+
:github:`3506`
|
|
120
|
+
- Added Replicator class that plugins can implement to enable distribution/repository replication.
|
|
121
|
+
:github:`3566`
|
|
122
|
+
- Exposed a function for extracting PKs from URIs and a function for validating content units
|
|
123
|
+
(``pulpcore.plugin.util.extract_pk``, ``pulpcore.plugin.util.raise_for_unknown_content_units``).
|
|
124
|
+
:github:`3604`
|
|
125
|
+
- Add ``label_field_name`` arg to ``LabelFilter()`` filter that allows plugin devs to
|
|
126
|
+
customize the model field that ``LabelFilter`` filters on.
|
|
127
|
+
:github:`3631`
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
Bugfixes
|
|
131
|
+
~~~~~~~~
|
|
132
|
+
|
|
133
|
+
- Added HiddenFieldsMixin to the plugin API.
|
|
134
|
+
:github:`3520`
|
|
135
|
+
- Exported ``LabelFilter`` to the plugin api as a replacement for the deprecated
|
|
136
|
+
``LabelSelectFilter``.
|
|
137
|
+
:github:`3570`
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
Improved Documentation
|
|
141
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
142
|
+
|
|
143
|
+
- Adds docs that plugin writers tasks must be backwards compatible until the next major Pulp version.
|
|
144
|
+
:github:`3368`
|
|
145
|
+
- Adds docs on the need and possible options for writing migrations in a way that they could be
|
|
146
|
+
applied to a running Pulp system.
|
|
147
|
+
:github:`3443`
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
Deprecations
|
|
151
|
+
~~~~~~~~~~~~
|
|
152
|
+
|
|
153
|
+
- Deprecated ``NamedModelViewSet.extract_pk`` in favour of ``pulpcore.plugin.util.extract_pk``.
|
|
154
|
+
Deprecated ``pulpcore.plugin.actions.raise_for_unknown_content_units`` in favour of
|
|
155
|
+
``pulpcore.plugin.util.raise_for_unknown_content_units``.
|
|
156
|
+
:github:`3604`
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
3.22.3 (2023-03-06)
|
|
160
|
+
===================
|
|
161
|
+
REST API
|
|
162
|
+
--------
|
|
163
|
+
|
|
164
|
+
No significant changes.
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
Plugin API
|
|
168
|
+
----------
|
|
169
|
+
|
|
170
|
+
No significant changes.
|
|
171
|
+
|
|
172
|
+
|
|
20
173
|
3.22.2 (2023-02-02)
|
|
21
174
|
===================
|
|
22
175
|
REST API
|
|
@@ -211,6 +364,46 @@ Removals
|
|
|
211
364
|
:github:`3400`
|
|
212
365
|
|
|
213
366
|
|
|
367
|
+
3.21.5 (2023-02-02)
|
|
368
|
+
===================
|
|
369
|
+
REST API
|
|
370
|
+
--------
|
|
371
|
+
|
|
372
|
+
Bugfixes
|
|
373
|
+
~~~~~~~~
|
|
374
|
+
|
|
375
|
+
- Added a ``start_repository_version`` parameter to the file system exporter.
|
|
376
|
+
|
|
377
|
+
If specified, it will export only content units that differed between two repository versions.
|
|
378
|
+
:github:`3413`
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
Plugin API
|
|
382
|
+
----------
|
|
383
|
+
|
|
384
|
+
No significant changes.
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
3.21.4 (2023-01-20)
|
|
388
|
+
===================
|
|
389
|
+
REST API
|
|
390
|
+
--------
|
|
391
|
+
|
|
392
|
+
Bugfixes
|
|
393
|
+
~~~~~~~~
|
|
394
|
+
|
|
395
|
+
- Fixed an occasional 500 error when viewing a repository version content summary while performing a content deletion task.
|
|
396
|
+
:github:`3299`
|
|
397
|
+
- Fix migrating Remotes with @ in path
|
|
398
|
+
:github:`3409`
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
Plugin API
|
|
402
|
+
----------
|
|
403
|
+
|
|
404
|
+
No significant changes.
|
|
405
|
+
|
|
406
|
+
|
|
214
407
|
3.21.3 (2022-11-15)
|
|
215
408
|
===================
|
|
216
409
|
REST API
|
|
@@ -820,6 +1013,82 @@ Bugfixes
|
|
|
820
1013
|
:github:`2069`
|
|
821
1014
|
|
|
822
1015
|
|
|
1016
|
+
3.18.15 (2023-03-09)
|
|
1017
|
+
====================
|
|
1018
|
+
REST API
|
|
1019
|
+
--------
|
|
1020
|
+
|
|
1021
|
+
Bugfixes
|
|
1022
|
+
~~~~~~~~
|
|
1023
|
+
|
|
1024
|
+
- Added a ``start_repository_version`` parameter to the file system exporter.
|
|
1025
|
+
|
|
1026
|
+
If specified, it will export only content units that differed between two repository versions.
|
|
1027
|
+
:github:`3413`
|
|
1028
|
+
|
|
1029
|
+
|
|
1030
|
+
Plugin API
|
|
1031
|
+
----------
|
|
1032
|
+
|
|
1033
|
+
No significant changes.
|
|
1034
|
+
|
|
1035
|
+
|
|
1036
|
+
3.18.14 (2023-02-23)
|
|
1037
|
+
====================
|
|
1038
|
+
REST API
|
|
1039
|
+
--------
|
|
1040
|
+
|
|
1041
|
+
Bugfixes
|
|
1042
|
+
~~~~~~~~
|
|
1043
|
+
|
|
1044
|
+
- Fixed a bug that caused the import machinery to import the same content multiple times in a row.
|
|
1045
|
+
:github:`3075`
|
|
1046
|
+
|
|
1047
|
+
|
|
1048
|
+
Plugin API
|
|
1049
|
+
----------
|
|
1050
|
+
|
|
1051
|
+
No significant changes.
|
|
1052
|
+
|
|
1053
|
+
|
|
1054
|
+
3.18.13 (2023-01-20)
|
|
1055
|
+
====================
|
|
1056
|
+
REST API
|
|
1057
|
+
--------
|
|
1058
|
+
|
|
1059
|
+
Bugfixes
|
|
1060
|
+
~~~~~~~~
|
|
1061
|
+
|
|
1062
|
+
- Fixed an occasional 500 error when viewing a repository version content summary while performing a content deletion task.
|
|
1063
|
+
:github:`3299`
|
|
1064
|
+
|
|
1065
|
+
|
|
1066
|
+
Plugin API
|
|
1067
|
+
----------
|
|
1068
|
+
|
|
1069
|
+
No significant changes.
|
|
1070
|
+
|
|
1071
|
+
|
|
1072
|
+
3.18.12 (2023-01-10)
|
|
1073
|
+
====================
|
|
1074
|
+
REST API
|
|
1075
|
+
--------
|
|
1076
|
+
|
|
1077
|
+
Bugfixes
|
|
1078
|
+
~~~~~~~~
|
|
1079
|
+
|
|
1080
|
+
- Insured that pulp-export correctly locks repos-being-exported.
|
|
1081
|
+
:github:`3370`
|
|
1082
|
+
- Fix migrating Remotes with @ in path
|
|
1083
|
+
:github:`3409`
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
Plugin API
|
|
1087
|
+
----------
|
|
1088
|
+
|
|
1089
|
+
No significant changes.
|
|
1090
|
+
|
|
1091
|
+
|
|
823
1092
|
3.18.11 (2022-11-02)
|
|
824
1093
|
====================
|
|
825
1094
|
REST API
|
|
@@ -1601,6 +1870,26 @@ Bugfixes
|
|
|
1601
1870
|
:redmine:`9608`
|
|
1602
1871
|
|
|
1603
1872
|
|
|
1873
|
+
3.16.16 (2023-02-23)
|
|
1874
|
+
====================
|
|
1875
|
+
REST API
|
|
1876
|
+
--------
|
|
1877
|
+
|
|
1878
|
+
Bugfixes
|
|
1879
|
+
~~~~~~~~
|
|
1880
|
+
|
|
1881
|
+
- Fixed a bug that caused the import machinery to import the same content multiple times in a row.
|
|
1882
|
+
:github:`3075`
|
|
1883
|
+
- Insured that pulp-export correctly locks repos-being-exported.
|
|
1884
|
+
:github:`3370`
|
|
1885
|
+
|
|
1886
|
+
|
|
1887
|
+
Plugin API
|
|
1888
|
+
----------
|
|
1889
|
+
|
|
1890
|
+
No significant changes.
|
|
1891
|
+
|
|
1892
|
+
|
|
1604
1893
|
3.16.15 (2022-11-02)
|
|
1605
1894
|
====================
|
|
1606
1895
|
REST API
|
|
@@ -2571,6 +2860,26 @@ Misc
|
|
|
2571
2860
|
- :redmine:`8606`, :redmine:`9160`
|
|
2572
2861
|
|
|
2573
2862
|
|
|
2863
|
+
3.14.19 (2023-02-09)
|
|
2864
|
+
====================
|
|
2865
|
+
REST API
|
|
2866
|
+
--------
|
|
2867
|
+
|
|
2868
|
+
Bugfixes
|
|
2869
|
+
~~~~~~~~
|
|
2870
|
+
|
|
2871
|
+
- Fixed another rare deadlock for high-concurrency/overlapping-content syncs.
|
|
2872
|
+
:github:`3111`
|
|
2873
|
+
- Another step on closing the deadlock-window when syncing overlapping content.
|
|
2874
|
+
:github:`3284`
|
|
2875
|
+
|
|
2876
|
+
|
|
2877
|
+
Plugin API
|
|
2878
|
+
----------
|
|
2879
|
+
|
|
2880
|
+
No significant changes.
|
|
2881
|
+
|
|
2882
|
+
|
|
2574
2883
|
3.14.18 (2022-07-14)
|
|
2575
2884
|
====================
|
|
2576
2885
|
REST API
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pulpcore
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.23.0
|
|
4
4
|
Summary: Pulp Django Application and Related Modules
|
|
5
5
|
Home-page: https://pulpproject.org
|
|
6
6
|
Author: Pulp Team
|
|
@@ -46,5 +46,6 @@ Requires-Python: >=3.8
|
|
|
46
46
|
Description-Content-Type: text/markdown
|
|
47
47
|
Provides-Extra: sftp
|
|
48
48
|
Provides-Extra: s3
|
|
49
|
+
Provides-Extra: google
|
|
49
50
|
Provides-Extra: azure
|
|
50
51
|
Provides-Extra: prometheus
|
|
@@ -4,10 +4,10 @@ from collections import defaultdict
|
|
|
4
4
|
from gettext import gettext as _
|
|
5
5
|
from importlib import import_module
|
|
6
6
|
|
|
7
|
-
from django.conf import settings
|
|
8
7
|
from django import apps
|
|
8
|
+
from django.conf import settings
|
|
9
9
|
from django.core.exceptions import ImproperlyConfigured
|
|
10
|
-
from django.db import transaction
|
|
10
|
+
from django.db import connection, transaction
|
|
11
11
|
from django.db.models.expressions import OuterRef, RawSQL
|
|
12
12
|
from django.db.models.signals import post_migrate
|
|
13
13
|
from django.utils.module_loading import module_has_submodule
|
|
@@ -19,6 +19,7 @@ VIEWSETS_MODULE_NAME = "viewsets"
|
|
|
19
19
|
SERIALIZERS_MODULE_NAME = "serializers"
|
|
20
20
|
URLS_MODULE_NAME = "urls"
|
|
21
21
|
MODELRESOURCE_MODULE_NAME = "modelresource"
|
|
22
|
+
REPLICA_MODULE_NAME = "replica"
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
def pulp_plugin_configs():
|
|
@@ -86,7 +87,13 @@ class PulpPluginAppConfig(apps.AppConfig):
|
|
|
86
87
|
"attribute."
|
|
87
88
|
)
|
|
88
89
|
raise ImproperlyConfigured(msg.format(self.label))
|
|
89
|
-
|
|
90
|
+
if settings.DOMAIN_ENABLED:
|
|
91
|
+
if not getattr(self, "domain_compatible", None):
|
|
92
|
+
msg = (
|
|
93
|
+
"The plugin `{}-{}` is not domain compatible. Please uninstall/update the "
|
|
94
|
+
"plugin or turn off `DOMAIN_ENABLED` for Pulp to start."
|
|
95
|
+
)
|
|
96
|
+
raise ImproperlyConfigured(msg.format(self.python_package_name, self.version))
|
|
90
97
|
# Module containing viewsets eg. <module 'pulp_plugin.app.viewsets'
|
|
91
98
|
# from 'pulp_plugin/app/viewsets.py'>. Set by import_viewsets().
|
|
92
99
|
# None if the application doesn't have a viewsets module, automatically set
|
|
@@ -101,6 +108,11 @@ class PulpPluginAppConfig(apps.AppConfig):
|
|
|
101
108
|
# List of classes from self.modelresource_module that can be exported
|
|
102
109
|
self.exportable_classes = None
|
|
103
110
|
|
|
111
|
+
# Module containing the replicator class for a plugin
|
|
112
|
+
self.replicator_module = None
|
|
113
|
+
# List of classes from the self.replicator_module
|
|
114
|
+
self.replicator_classes = None
|
|
115
|
+
|
|
104
116
|
# Mapping of model names to viewset lists (viewsets unrelated to models are excluded)
|
|
105
117
|
self.named_viewsets = None
|
|
106
118
|
# Mapping of serializer names to serializers
|
|
@@ -111,6 +123,7 @@ class PulpPluginAppConfig(apps.AppConfig):
|
|
|
111
123
|
self.import_serializers()
|
|
112
124
|
self.import_urls()
|
|
113
125
|
self.import_modelresources()
|
|
126
|
+
self.import_replicators()
|
|
114
127
|
post_migrate.connect(
|
|
115
128
|
_populate_access_policies,
|
|
116
129
|
sender=self,
|
|
@@ -193,6 +206,19 @@ class PulpPluginAppConfig(apps.AppConfig):
|
|
|
193
206
|
self.modelresource_module = import_module(modelrsrc_module_name)
|
|
194
207
|
self.exportable_classes = self.modelresource_module.IMPORT_ORDER
|
|
195
208
|
|
|
209
|
+
def import_replicators(self):
|
|
210
|
+
"""
|
|
211
|
+
If a plugin has a replicator.py, import it.
|
|
212
|
+
|
|
213
|
+
This exists when a plugin supports replication from an upstream Pulp.
|
|
214
|
+
"""
|
|
215
|
+
if module_has_submodule(self.module, REPLICA_MODULE_NAME) and self.name != "pulpcore.app":
|
|
216
|
+
replica_module_name = "{name}.{module}".format(
|
|
217
|
+
name=self.name, module=REPLICA_MODULE_NAME
|
|
218
|
+
)
|
|
219
|
+
self.replicator_module = import_module(replica_module_name)
|
|
220
|
+
self.replicator_classes = self.replicator_module.REPLICATION_ORDER
|
|
221
|
+
|
|
196
222
|
|
|
197
223
|
class PulpAppConfig(PulpPluginAppConfig):
|
|
198
224
|
# The pulpcore app is itself a pulpcore plugin so that it can benefit from
|
|
@@ -207,15 +233,20 @@ class PulpAppConfig(PulpPluginAppConfig):
|
|
|
207
233
|
label = "core"
|
|
208
234
|
|
|
209
235
|
# The version of this app
|
|
210
|
-
version = "3.
|
|
236
|
+
version = "3.23.0"
|
|
211
237
|
|
|
212
238
|
# The python package name providing this app
|
|
213
239
|
python_package_name = "pulpcore"
|
|
214
240
|
|
|
241
|
+
domain_compatible = True
|
|
242
|
+
|
|
215
243
|
def ready(self):
|
|
216
244
|
super().ready()
|
|
217
245
|
from . import checks # noqa
|
|
218
246
|
|
|
247
|
+
post_migrate.connect(
|
|
248
|
+
_ensure_default_domain, sender=self, dispatch_uid="ensure_default_domain"
|
|
249
|
+
)
|
|
219
250
|
post_migrate.connect(
|
|
220
251
|
_populate_system_id, sender=self, dispatch_uid="populate_system_id_identifier"
|
|
221
252
|
)
|
|
@@ -279,6 +310,24 @@ def _populate_system_id(sender, apps, verbosity, **kwargs):
|
|
|
279
310
|
SystemID().save()
|
|
280
311
|
|
|
281
312
|
|
|
313
|
+
def _ensure_default_domain(sender, **kwargs):
|
|
314
|
+
table_names = connection.introspection.table_names()
|
|
315
|
+
if "core_domain" in table_names:
|
|
316
|
+
from pulpcore.app.util import get_default_domain
|
|
317
|
+
|
|
318
|
+
default = get_default_domain() # Cache the default domain
|
|
319
|
+
# Match the Pulp settings
|
|
320
|
+
if (
|
|
321
|
+
settings.HIDE_GUARDED_DISTRIBUTIONS != default.hide_guarded_distributions
|
|
322
|
+
or settings.REDIRECT_TO_OBJECT_STORAGE != default.redirect_to_object_storage
|
|
323
|
+
or settings.DEFAULT_FILE_STORAGE != default.storage_class
|
|
324
|
+
):
|
|
325
|
+
default.hide_guarded_distributions = settings.HIDE_GUARDED_DISTRIBUTIONS
|
|
326
|
+
default.redirect_to_object_storage = settings.REDIRECT_TO_OBJECT_STORAGE
|
|
327
|
+
default.storage_class = settings.DEFAULT_FILE_STORAGE
|
|
328
|
+
default.save(skip_hooks=True)
|
|
329
|
+
|
|
330
|
+
|
|
282
331
|
def _populate_roles(sender, apps, verbosity, **kwargs):
|
|
283
332
|
role_prefix = f"{sender.label}."
|
|
284
333
|
# collect all plugin defined roles
|