pulpcore 3.28.30__tar.gz → 3.28.32__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.28.30 → pulpcore-3.28.32}/CHANGES.md +29 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/PKG-INFO +1 -1
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/apps.py +1 -1
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/task.py +6 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/task.py +9 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tasking/pulpcore_worker.py +20 -1
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_tasking.py +37 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore.egg-info/PKG-INFO +1 -1
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore.egg-info/requires.txt +1 -1
- {pulpcore-3.28.30 → pulpcore-3.28.32}/requirements.txt +1 -1
- {pulpcore-3.28.30 → pulpcore-3.28.32}/setup.py +1 -1
- {pulpcore-3.28.30 → pulpcore-3.28.32}/CODE_OF_CONDUCT.md +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/COMMITMENT +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/CONTRIBUTING.md +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/COPYRIGHT +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/LICENSE +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/MANIFEST.in +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/README.md +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/bin/pulp-content +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/ci_requirements.txt +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/functest_requirements.txt +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/manage.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/access_policy.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/authentication.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/checks.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/files.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/global_access_conditions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/importexport.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/loggers.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/manage.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/add-signing-service.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/analyze-publication.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/dump-permissions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/openapi.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/remove-plugin.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/remove-signing-service.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/rotate-db-key.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0001_initial.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0011_relative_path.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0026_task_group.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0027_export_backend.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0029_export_delete.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0055_label.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0074_acs.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0091_systemid.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0099_versions_field.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0101_add_domain.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0104_delete_label.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/mime_types.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/modelresource.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/access_policy.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/acs.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/analytics.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/domain.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/exporter.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/fields.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/generic.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/importer.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/progress.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/publication.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/replica.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/repository.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/role.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/status.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/storage.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/models/upload.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/monkeypatch.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/protobuf/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/pulp_hashlib.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/redis_connection.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/replica.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/response.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/role_util.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/access_policy.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/acs.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/domain.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/exporter.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/fields.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/importer.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/orphans.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/progress.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/publication.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/purge.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/reclaim.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/repair.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/replica.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/repository.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/status.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/task.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/upload.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/serializers/user.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/settings.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/analytics.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/export.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/importer.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/orphan.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/purge.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/reclaim_space.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/replica.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/repository.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/test.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/tasks/upload.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/templates/rest_framework/api.html +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/templatetags/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/templatetags/pulp_urls.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/urls.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/util.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/views/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/views/importer.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/views/orphans.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/views/repair.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/views/status.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/access_policy.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/acs.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/custom_filters.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/domain.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/exporter.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/importer.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/orphans.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/publication.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/reclaim.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/replica.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/repository.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/upload.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/viewsets/user.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/wsgi.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/backends.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/cache/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/cache/cache.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/constants.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/content/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/content/authentication.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/content/handler.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/download/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/download/base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/download/factory.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/download/file.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/download/http.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/exceptions/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/exceptions/base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/exceptions/plugin.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/exceptions/validation.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/filters.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/middleware.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/openapi/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/access_policy.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/actions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/apps.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/authentication/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/cache/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/constants.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/download/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/exceptions.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/files.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/importexport.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/modelresources.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/models/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/models/role.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/publication_utils.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/pulp_hashlib.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/replica.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/repo_version_utils.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/responses.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/serializers/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/serializers/content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/stages/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/stages/api.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/stages/artifact_stages.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/stages/content_stages.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/stages/declarative_version.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/stages/models.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/storage.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/sync.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/tasking.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/util.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/viewsets/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/plugin/viewsets/content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/responses.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tasking/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tasking/constants.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tasking/entrypoint.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tasking/storage.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tasking/tasks.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tasking/util.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_artifact_distribution.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_auth.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_crud_domains.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_filter.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_openapi_schema.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_replication.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_repos.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_role.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_scoping.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_status.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_upload.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_users_groups.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/test_workers.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/content_with_coverage.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/gpg_ascii_armor_signing_service.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/functional/utils.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/conftest.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/content/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/content/test_handler.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/download/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/migration/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/migration/test_0077_move_remote_url_credentials.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/models/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/models/test_base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/models/test_content.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/models/test_remote.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/models/test_repository.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/roles/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/roles/test_roles.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/serializers/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/serializers/test_base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/serializers/test_domain.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/stages/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/stages/test_stages.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/test_cache.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/test_content_guard.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/test_files.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/test_import_checks.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/test_pulp_urls.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/test_settings.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/test_util.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/tests/unit/viewsets/test_viewset_base.py +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore.egg-info/SOURCES.txt +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore.egg-info/dependency_links.txt +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore.egg-info/entry_points.txt +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore.egg-info/top_level.txt +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/pyproject.toml +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/setup.cfg +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/test_requirements.txt +0 -0
- {pulpcore-3.28.30 → pulpcore-3.28.32}/unittest_requirements.txt +0 -0
|
@@ -8,6 +8,35 @@
|
|
|
8
8
|
|
|
9
9
|
[//]: # (towncrier release notes start)
|
|
10
10
|
|
|
11
|
+
# ## 3.28.32 (2024-08-10) {: #3.28.32 }
|
|
12
|
+
|
|
13
|
+
### REST API {: #3.28.32-rest-api }
|
|
14
|
+
|
|
15
|
+
#### Bugfixes {: #3.28.32-rest-api-bugfix }
|
|
16
|
+
|
|
17
|
+
- Fixed RBAC permissions being incorrectly assigned in tasks that create objects.
|
|
18
|
+
https://access.redhat.com/security/cve/cve-2024-7143
|
|
19
|
+
[#5683](https://github.com/pulp/pulpcore/issues/5683)
|
|
20
|
+
|
|
21
|
+
### Plugin API {: #3.28.32-plugin-api }
|
|
22
|
+
|
|
23
|
+
No significant changes.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 3.28.31 (2024-07-23) {: #3.28.31 }
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### REST API {: #3.28.31-rest-api }
|
|
31
|
+
|
|
32
|
+
No significant changes.
|
|
33
|
+
|
|
34
|
+
### Plugin API {: #3.28.31-plugin-api }
|
|
35
|
+
|
|
36
|
+
No significant changes.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
11
40
|
## 3.28.30 (2024-07-16) {: #3.28.30 }
|
|
12
41
|
|
|
13
42
|
|
|
@@ -13,6 +13,7 @@ from django.contrib.postgres.fields import ArrayField, HStoreField
|
|
|
13
13
|
from django.core.serializers.json import DjangoJSONEncoder
|
|
14
14
|
from django.db import connection, models
|
|
15
15
|
from django.utils import timezone
|
|
16
|
+
from django_lifecycle import hook, AFTER_CREATE
|
|
16
17
|
|
|
17
18
|
from pulpcore.app.models import (
|
|
18
19
|
AutoAddObjPermsMixin,
|
|
@@ -225,6 +226,11 @@ class Task(BaseModel, AutoAddObjPermsMixin):
|
|
|
225
226
|
"""
|
|
226
227
|
return current_task.get()
|
|
227
228
|
|
|
229
|
+
@hook(AFTER_CREATE)
|
|
230
|
+
def add_role_dispatcher(self):
|
|
231
|
+
"""Set the "core.task_user_dispatcher" role for the current user after creation."""
|
|
232
|
+
self.add_roles_for_object_creator("core.task_user_dispatcher")
|
|
233
|
+
|
|
228
234
|
def set_running(self):
|
|
229
235
|
"""
|
|
230
236
|
Set this Task to the running state, save it, and log output in warning cases.
|
|
@@ -143,6 +143,10 @@ class TaskViewSet(
|
|
|
143
143
|
],
|
|
144
144
|
},
|
|
145
145
|
"core.task_viewer": ["core.view_task"],
|
|
146
|
+
# This is a special role to designate the user who dispatched the task, it is assigned to
|
|
147
|
+
# the user on the object-level at task creation. It is not meant to be edited or manually
|
|
148
|
+
# added/removed from users.
|
|
149
|
+
"core.task_user_dispatcher": ["core.add_task"],
|
|
146
150
|
}
|
|
147
151
|
|
|
148
152
|
def get_serializer(self, *args, **kwargs):
|
|
@@ -191,6 +195,11 @@ class TaskViewSet(
|
|
|
191
195
|
),
|
|
192
196
|
Prefetch("child_tasks", queryset=Task.objects.only("pk")),
|
|
193
197
|
)
|
|
198
|
+
if self.action in ("add_role", "remove_role"):
|
|
199
|
+
if "core.task_user_dispatcher" == self.request.data.get("role"):
|
|
200
|
+
raise ValidationError(
|
|
201
|
+
_("core.task_user_dispatcher can not be added/removed from a task.")
|
|
202
|
+
)
|
|
194
203
|
return qs
|
|
195
204
|
|
|
196
205
|
@extend_schema(
|
|
@@ -436,7 +436,26 @@ def _perform_task(task_pk, task_working_dir_rel_path):
|
|
|
436
436
|
# All processes need to create their own postgres connection
|
|
437
437
|
connection.connection = None
|
|
438
438
|
task = Task.objects.select_related("pulp_domain").get(pk=task_pk)
|
|
439
|
-
|
|
439
|
+
# These queries were specifically constructed and ordered this way to ensure we have the highest
|
|
440
|
+
# chance of getting the user who dispatched the task since we don't have a user relation on the
|
|
441
|
+
# task model. The second query acts as a fallback to provide ZDU support. Future changes will
|
|
442
|
+
# require to keep these around till a breaking change release is planned (3.70 the earliest).
|
|
443
|
+
user = (
|
|
444
|
+
get_users_with_perms(
|
|
445
|
+
task,
|
|
446
|
+
only_with_perms_in=["core.add_task"],
|
|
447
|
+
with_group_users=False,
|
|
448
|
+
include_model_permissions=False,
|
|
449
|
+
include_domain_permissions=False,
|
|
450
|
+
).first()
|
|
451
|
+
or get_users_with_perms(
|
|
452
|
+
task,
|
|
453
|
+
only_with_perms_in=["core.manage_roles_task"],
|
|
454
|
+
with_group_users=False,
|
|
455
|
+
include_model_permissions=False,
|
|
456
|
+
include_domain_permissions=False,
|
|
457
|
+
).first()
|
|
458
|
+
)
|
|
440
459
|
# Set current contexts
|
|
441
460
|
set_guid(task.logging_cid)
|
|
442
461
|
set_current_user(user)
|
|
@@ -322,3 +322,40 @@ def test_task_created_by(dispatch_task, monitor_task, gen_user, anonymous_user):
|
|
|
322
322
|
task_href = dispatch_task("time.sleep", (0,))
|
|
323
323
|
anon_task = monitor_task(task_href)
|
|
324
324
|
assert anon_task.created_by is None
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
@pytest.mark.parallel
|
|
328
|
+
def test_correct_task_ownership(
|
|
329
|
+
dispatch_task, users_roles_api_client, gen_user, file_repository_factory
|
|
330
|
+
):
|
|
331
|
+
"""Test that tasks get the correct ownership when dispatched."""
|
|
332
|
+
alice = gen_user(model_roles=["core.task_viewer"])
|
|
333
|
+
bob = gen_user(model_roles=["file.filerepository_creator"])
|
|
334
|
+
|
|
335
|
+
with alice:
|
|
336
|
+
atask_href = dispatch_task("pulpcore.app.tasks.test.sleep", args=(0,))
|
|
337
|
+
aroles = users_roles_api_client.list(alice.user.pulp_href)
|
|
338
|
+
assert aroles.count == 3
|
|
339
|
+
roles = {r.role: r.content_object for r in aroles.results}
|
|
340
|
+
correct_roles = {
|
|
341
|
+
"core.task_owner": atask_href,
|
|
342
|
+
"core.task_user_dispatcher": atask_href,
|
|
343
|
+
"core.task_viewer": None,
|
|
344
|
+
}
|
|
345
|
+
assert roles == correct_roles
|
|
346
|
+
|
|
347
|
+
with bob:
|
|
348
|
+
btask_href = dispatch_task("pulpcore.app.tasks.test.sleep", args=(0,))
|
|
349
|
+
repo = file_repository_factory()
|
|
350
|
+
aroles = users_roles_api_client.list(alice.user.pulp_href)
|
|
351
|
+
assert aroles.count == 3
|
|
352
|
+
broles = users_roles_api_client.list(bob.user.pulp_href)
|
|
353
|
+
assert broles.count == 4
|
|
354
|
+
roles = {r.role: r.content_object for r in broles.results}
|
|
355
|
+
correct_roles = {
|
|
356
|
+
"core.task_owner": btask_href,
|
|
357
|
+
"core.task_user_dispatcher": btask_href,
|
|
358
|
+
"file.filerepository_owner": repo.pulp_href,
|
|
359
|
+
"file.filerepository_creator": None,
|
|
360
|
+
}
|
|
361
|
+
assert roles == correct_roles
|
|
@@ -5,7 +5,7 @@ asyncio-throttle>=1.0,<=1.0.2
|
|
|
5
5
|
async-timeout>=4.0.3,<4.0.4;python_version<"3.11"
|
|
6
6
|
backoff>=2.1.2,<2.2.2
|
|
7
7
|
click>=8.1.0,<=8.1.7
|
|
8
|
-
cryptography>=38.0.1,<
|
|
8
|
+
cryptography>=38.0.1,<42.0.9
|
|
9
9
|
Django~=4.2.0 # LTS version, switch only if we have a compelling reason to
|
|
10
10
|
django-filter>=23.1,<=23.5
|
|
11
11
|
django-guid>=3.3,<=3.4.0
|
|
@@ -8,7 +8,7 @@ with open("requirements.txt") as requirements:
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name="pulpcore",
|
|
11
|
-
version="3.28.
|
|
11
|
+
version="3.28.32",
|
|
12
12
|
description="Pulp Django Application and Related Modules",
|
|
13
13
|
long_description=long_description,
|
|
14
14
|
long_description_content_type="text/markdown",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/add-signing-service.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/analyze-publication.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/dump-publications-to-fs.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/handle-artifact-checksums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/remove-signing-service.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/management/commands/reset-admin-password.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0002_increase_artifact_size_field.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0003_remove_upload_completed.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0006_repository_plugin_managed.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0007_delete_progress_proxies.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0008_published_metadata_as_content.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0016_charfield_to_textfield.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0019_add_signing_service_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0023_change_exporter_models.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0031_import_export_validate_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0039_change_download_concurrency.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0044_temp_file_artifact_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0050_namespace_access_policies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0058_accesspolicy_customized.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0063_repository_retained_versions.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0064_add_new_style_task_columns.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0064_repository_user_hidden.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0070_rename_retained_versions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0076_remove_reserved_resource.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0077_move_remote_url_credentials.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0078_grouprole_role_userrole.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0085_contentredirectcontentguard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0094_protect_repository_content.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0096_alter_task_logging_cid.py
RENAMED
|
File without changes
|
{pulpcore-3.28.30 → pulpcore-3.28.32}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|