pulpcore 3.76.0__tar.gz → 3.77.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.

Potentially problematic release.


This version of pulpcore might be problematic. Click here for more details.

Files changed (550) hide show
  1. {pulpcore-3.76.0 → pulpcore-3.77.0}/CHANGES.md +376 -0
  2. {pulpcore-3.76.0 → pulpcore-3.77.0}/PKG-INFO +8 -5
  3. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/__init__.py +1 -1
  4. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/__init__.py +1 -1
  5. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_remote_settings.py +68 -0
  6. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/apps.py +1 -1
  7. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/replica.py +4 -4
  8. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/publication.py +30 -10
  9. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/repository.py +27 -17
  10. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/settings.py +13 -1
  11. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/__init__.py +1 -1
  12. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/base.py +37 -0
  13. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/test.py +9 -6
  14. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/base.py +2 -2
  15. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/constants.py +2 -0
  16. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/stages/artifact_stages.py +11 -5
  17. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/tasking.py +2 -2
  18. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/pytest_plugin.py +2 -0
  19. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tasking/_util.py +46 -16
  20. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tasking/tasks.py +44 -4
  21. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_tasking.py +151 -1
  22. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore.egg-info/PKG-INFO +8 -5
  23. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore.egg-info/requires.txt +8 -4
  24. {pulpcore-3.76.0 → pulpcore-3.77.0}/pyproject.toml +7 -6
  25. {pulpcore-3.76.0 → pulpcore-3.77.0}/CODE_OF_CONDUCT.md +0 -0
  26. {pulpcore-3.76.0 → pulpcore-3.77.0}/COMMITMENT +0 -0
  27. {pulpcore-3.76.0 → pulpcore-3.77.0}/CONTRIBUTING.md +0 -0
  28. {pulpcore-3.76.0 → pulpcore-3.77.0}/COPYRIGHT +0 -0
  29. {pulpcore-3.76.0 → pulpcore-3.77.0}/LICENSE +0 -0
  30. {pulpcore-3.76.0 → pulpcore-3.77.0}/MANIFEST.in +0 -0
  31. {pulpcore-3.76.0 → pulpcore-3.77.0}/README.md +0 -0
  32. {pulpcore-3.76.0 → pulpcore-3.77.0}/ci_requirements.txt +0 -0
  33. {pulpcore-3.76.0 → pulpcore-3.77.0}/functest_requirements.txt +0 -0
  34. {pulpcore-3.76.0 → pulpcore-3.77.0}/manage.py +0 -0
  35. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/__init__.py +0 -0
  36. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/migrations/0001_initial.py +0 -0
  37. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/migrations/0002_alter_rhsmcertguard_contentguard_ptr_and_more.py +0 -0
  38. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/migrations/__init__.py +0 -0
  39. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/models.py +0 -0
  40. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/serializers.py +0 -0
  41. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/utils.py +0 -0
  42. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/app/viewsets.py +0 -0
  43. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/pytest_plugin.py +0 -0
  44. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/__init__.py +0 -0
  45. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/__init__.py +0 -0
  46. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/api/__init__.py +0 -0
  47. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py +0 -0
  48. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/api/test_x509_certguard.py +0 -0
  49. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.crt +0 -0
  50. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.key +0 -0
  51. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/trusted_but_expired.pem +0 -0
  52. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert +0 -0
  53. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert-key.pem +0 -0
  54. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert.pem +0 -0
  55. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713-key.pem +0 -0
  56. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713.pem +0 -0
  57. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840-key.pem +0 -0
  58. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840.pem +0 -0
  59. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985-key.pem +0 -0
  60. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985.pem +0 -0
  61. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172-key.pem +0 -0
  62. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172.pem +0 -0
  63. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/certificates/ca.pem +0 -0
  64. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/genca.sh +0 -0
  65. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/keys/ca.pem +0 -0
  66. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/certificates/ca.pem +0 -0
  67. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/certificates/client.pem +0 -0
  68. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/certificates/server.pem +0 -0
  69. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/certificates/un_urlencoded_cert.txt +0 -0
  70. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/certificates/untrusted_client.pem +0 -0
  71. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/genall.sh +0 -0
  72. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/genca.sh +0 -0
  73. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/genclient.sh +0 -0
  74. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/gensrv.sh +0 -0
  75. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/keys/ca.pem +0 -0
  76. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/keys/client.pem +0 -0
  77. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/artifacts/x509/keys/server.pem +0 -0
  78. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/conftest.py +0 -0
  79. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/functional/constants.py +0 -0
  80. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/unit/__init__.py +0 -0
  81. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_certguard/tests/unit/test_models.py +0 -0
  82. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/__init__.py +0 -0
  83. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0001_initial.py +0 -0
  84. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0001_initial_squashed_0016_add_domain.py +0 -0
  85. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0002_file_related_names.py +0 -0
  86. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0003_auto_20191014_1721.py +0 -0
  87. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0004_filefilesystemexporter.py +0 -0
  88. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0005_filerepository.py +0 -0
  89. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0006_delete_filefilesystemexporter.py +0 -0
  90. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0007_filefilesystemexporter.py +0 -0
  91. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0008_add_manifest_field.py +0 -0
  92. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0009_move_data_to_new_master_distribution_model.py +0 -0
  93. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0010_auto_publish.py +0 -0
  94. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0011_fix_auto_publish.py +0 -0
  95. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0012_delete_filefilesystemexporter.py +0 -0
  96. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0013_file_acs.py +0 -0
  97. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0014_new_rbac_permissions.py +0 -0
  98. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0015_allow_null_manifest.py +0 -0
  99. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0016_add_domain.py +0 -0
  100. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +0 -0
  101. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/migrations/__init__.py +0 -0
  102. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/modelresource.py +0 -0
  103. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/models.py +0 -0
  104. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/replica.py +0 -0
  105. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/serializers.py +0 -0
  106. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/tasks/__init__.py +0 -0
  107. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/tasks/publishing.py +0 -0
  108. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/tasks/synchronizing.py +0 -0
  109. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/app/viewsets.py +0 -0
  110. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/manifest.py +0 -0
  111. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/pytest_plugin.py +0 -0
  112. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/__init__.py +0 -0
  113. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/__init__.py +0 -0
  114. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/__init__.py +0 -0
  115. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_acs.py +0 -0
  116. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_auto_publish.py +0 -0
  117. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_bad_sync.py +0 -0
  118. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_content_labels.py +0 -0
  119. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_crud_content_unit.py +0 -0
  120. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_crud_remotes.py +0 -0
  121. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_domains.py +0 -0
  122. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_download_policies.py +0 -0
  123. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_generic_list.py +0 -0
  124. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_labels.py +0 -0
  125. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_mime_types.py +0 -0
  126. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_publish.py +0 -0
  127. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_pulp_export.py +0 -0
  128. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_rbac.py +0 -0
  129. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/functional/api/test_sync.py +0 -0
  130. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/unit/__init__.py +0 -0
  131. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/unit/test_safe_paths.py +0 -0
  132. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulp_file/tests/unit/test_serializers.py +0 -0
  133. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/__init__.py +0 -0
  134. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/__init__.py +0 -0
  135. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/access_policy.py +0 -0
  136. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/authentication.py +0 -0
  137. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/checks.py +0 -0
  138. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/entrypoint.py +0 -0
  139. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/files.py +0 -0
  140. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/global_access_conditions.py +0 -0
  141. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/importexport.py +0 -0
  142. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/loggers.py +0 -0
  143. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/manage.py +0 -0
  144. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/__init__.py +0 -0
  145. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/__init__.py +0 -0
  146. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/add-signing-service.py +0 -0
  147. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/analyze-publication.py +0 -0
  148. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
  149. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/dump-permissions.py +0 -0
  150. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
  151. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -0
  152. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/migrationstat.py +0 -0
  153. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/openapi.py +0 -0
  154. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/rebasemigrations.py +0 -0
  155. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/remove-plugin.py +0 -0
  156. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/remove-signing-service.py +0 -0
  157. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/repository-size.py +0 -0
  158. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
  159. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/management/commands/rotate-db-key.py +0 -0
  160. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0001_initial.py +0 -0
  161. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0001_squashed_0090_char_to_text_field.py +0 -0
  162. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
  163. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
  164. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
  165. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
  166. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
  167. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
  168. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
  169. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
  170. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
  171. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0011_relative_path.py +0 -0
  172. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
  173. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
  174. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
  175. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
  176. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
  177. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
  178. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
  179. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
  180. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
  181. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
  182. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
  183. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
  184. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
  185. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
  186. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0026_task_group.py +0 -0
  187. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0027_export_backend.py +0 -0
  188. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
  189. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0029_export_delete.py +0 -0
  190. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
  191. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
  192. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
  193. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
  194. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
  195. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
  196. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
  197. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
  198. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
  199. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
  200. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
  201. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
  202. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
  203. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
  204. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
  205. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
  206. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
  207. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
  208. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
  209. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
  210. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
  211. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
  212. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
  213. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
  214. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
  215. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0055_label.py +0 -0
  216. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
  217. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
  218. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
  219. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
  220. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
  221. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
  222. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
  223. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
  224. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
  225. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
  226. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
  227. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
  228. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
  229. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
  230. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
  231. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
  232. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
  233. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
  234. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
  235. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0074_acs.py +0 -0
  236. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
  237. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
  238. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
  239. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
  240. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
  241. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
  242. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
  243. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
  244. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
  245. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
  246. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
  247. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
  248. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
  249. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
  250. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
  251. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
  252. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0091_systemid.py +0 -0
  253. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
  254. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
  255. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
  256. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
  257. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
  258. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
  259. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
  260. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0099_versions_field.py +0 -0
  261. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
  262. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0101_add_domain.py +0 -0
  263. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
  264. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
  265. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0104_delete_label.py +0 -0
  266. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
  267. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
  268. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
  269. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0108_task_versions.py +0 -0
  270. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0109_contentartifact_relative_path_index.py +0 -0
  271. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0110_apiappstatus.py +0 -0
  272. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0111_task_enc_args_task_enc_kwargs.py +0 -0
  273. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0112_alter_upstreampulp_options.py +0 -0
  274. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0113_headercontentguard.py +0 -0
  275. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0114_remove_task_args_remove_task_kwargs.py +0 -0
  276. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0115_compositecontentguard.py +0 -0
  277. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0116_alter_remoteartifact_md5_alter_remoteartifact_sha1_and_more.py +0 -0
  278. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0117_task_unblocked_at.py +0 -0
  279. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0118_task_core_task_unblock_2276a4_idx_and_more.py +0 -0
  280. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0119_grouprole_core_groupr_object__250e22_idx_and_more.py +0 -0
  281. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0120_get_url_removal.py +0 -0
  282. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0121_add_profile_artifacts_table.py +0 -0
  283. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0122_record_last_replication_timestamp.py +0 -0
  284. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0123_upstreampulp_q_select.py +0 -0
  285. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0124_task_deferred_task_immediate.py +0 -0
  286. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0125_openpgpdistribution_openpgpkeyring_openpgppublickey_and_more.py +0 -0
  287. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0126_remoteartifact_failed_at.py +0 -0
  288. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0127_remove_upstreampulp_pulp_label_select.py +0 -0
  289. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0128_domain_pulp_labels.py +0 -0
  290. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0129_content_pulp_labels.py +0 -0
  291. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0130_upstreampulp_policy.py +0 -0
  292. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0131_distribution_checkpoint_publication_checkpoint.py +0 -0
  293. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/0132_alter_content_options.py +0 -0
  294. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/migrations/__init__.py +0 -0
  295. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/mime_types.py +0 -0
  296. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/modelresource.py +0 -0
  297. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/__init__.py +0 -0
  298. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/access_policy.py +0 -0
  299. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/acs.py +0 -0
  300. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/analytics.py +0 -0
  301. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/base.py +0 -0
  302. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/content.py +0 -0
  303. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/domain.py +0 -0
  304. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/exporter.py +0 -0
  305. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/fields.py +0 -0
  306. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/generic.py +0 -0
  307. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/importer.py +0 -0
  308. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/openpgp.py +0 -0
  309. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/progress.py +0 -0
  310. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/publication.py +0 -0
  311. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/replica.py +0 -0
  312. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/repository.py +0 -0
  313. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/role.py +0 -0
  314. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/status.py +0 -0
  315. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/storage.py +0 -0
  316. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/task.py +0 -0
  317. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/models/upload.py +0 -0
  318. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/openpgp.py +0 -0
  319. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/protobuf/__init__.py +0 -0
  320. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
  321. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/pulp_hashlib.py +0 -0
  322. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/pulpcore_gunicorn_application.py +0 -0
  323. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/redis_connection.py +0 -0
  324. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/response.py +0 -0
  325. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/role_util.py +0 -0
  326. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/__init__.py +0 -0
  327. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/access_policy.py +0 -0
  328. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/acs.py +0 -0
  329. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/base.py +0 -0
  330. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/content.py +0 -0
  331. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/domain.py +0 -0
  332. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/exporter.py +0 -0
  333. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/fields.py +0 -0
  334. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/importer.py +0 -0
  335. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/openpgp.py +0 -0
  336. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/orphans.py +0 -0
  337. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/progress.py +0 -0
  338. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/purge.py +0 -0
  339. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/reclaim.py +0 -0
  340. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/repair.py +0 -0
  341. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/replica.py +0 -0
  342. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/status.py +0 -0
  343. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/task.py +0 -0
  344. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/upload.py +0 -0
  345. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/serializers/user.py +0 -0
  346. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/analytics.py +0 -0
  347. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/export.py +0 -0
  348. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/importer.py +0 -0
  349. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/migrate.py +0 -0
  350. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/orphan.py +0 -0
  351. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/purge.py +0 -0
  352. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/reclaim_space.py +0 -0
  353. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/replica.py +0 -0
  354. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/repository.py +0 -0
  355. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/telemetry.py +0 -0
  356. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/tasks/upload.py +0 -0
  357. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/templates/rest_framework/api.html +0 -0
  358. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/templatetags/__init__.py +0 -0
  359. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/templatetags/pulp_urls.py +0 -0
  360. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/urls.py +0 -0
  361. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/util.py +0 -0
  362. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/views/__init__.py +0 -0
  363. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/views/importer.py +0 -0
  364. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/views/orphans.py +0 -0
  365. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/views/repair.py +0 -0
  366. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/views/status.py +0 -0
  367. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/__init__.py +0 -0
  368. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/access_policy.py +0 -0
  369. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/acs.py +0 -0
  370. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/content.py +0 -0
  371. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/custom_filters.py +0 -0
  372. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/domain.py +0 -0
  373. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/exporter.py +0 -0
  374. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/importer.py +0 -0
  375. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/openpgp.py +0 -0
  376. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/orphans.py +0 -0
  377. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/publication.py +0 -0
  378. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/reclaim.py +0 -0
  379. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/replica.py +0 -0
  380. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/repository.py +0 -0
  381. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/task.py +0 -0
  382. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/upload.py +0 -0
  383. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/viewsets/user.py +0 -0
  384. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/app/wsgi.py +0 -0
  385. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/backends.py +0 -0
  386. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/cache/__init__.py +0 -0
  387. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/cache/cache.py +0 -0
  388. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/content/__init__.py +0 -0
  389. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/content/authentication.py +0 -0
  390. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/content/entrypoint.py +0 -0
  391. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/content/handler.py +0 -0
  392. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/content/instrumentation.py +0 -0
  393. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/download/__init__.py +0 -0
  394. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/download/base.py +0 -0
  395. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/download/factory.py +0 -0
  396. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/download/file.py +0 -0
  397. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/download/http.py +0 -0
  398. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/exceptions/__init__.py +0 -0
  399. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/exceptions/base.py +0 -0
  400. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/exceptions/plugin.py +0 -0
  401. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/exceptions/validation.py +0 -0
  402. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/filters.py +0 -0
  403. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/metrics.py +0 -0
  404. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/middleware.py +0 -0
  405. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/migrations.py +0 -0
  406. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/openapi/__init__.py +0 -0
  407. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/openapi/hooks.py +0 -0
  408. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/__init__.py +0 -0
  409. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/access_policy.py +0 -0
  410. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/actions.py +0 -0
  411. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/apps.py +0 -0
  412. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/authentication/__init__.py +0 -0
  413. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/cache/__init__.py +0 -0
  414. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/constants.py +0 -0
  415. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/content.py +0 -0
  416. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/download/__init__.py +0 -0
  417. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/exceptions.py +0 -0
  418. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/files.py +0 -0
  419. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/importexport.py +0 -0
  420. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/migrations.py +0 -0
  421. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/modelresources.py +0 -0
  422. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/models/__init__.py +0 -0
  423. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/models/role.py +0 -0
  424. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/publication_utils.py +0 -0
  425. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/pulp_hashlib.py +0 -0
  426. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/replica.py +0 -0
  427. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/repo_version_utils.py +0 -0
  428. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/responses.py +0 -0
  429. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/serializers/__init__.py +0 -0
  430. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/serializers/content.py +0 -0
  431. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/stages/__init__.py +0 -0
  432. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/stages/api.py +0 -0
  433. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/stages/content_stages.py +0 -0
  434. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/stages/declarative_version.py +0 -0
  435. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/stages/models.py +0 -0
  436. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/storage.py +0 -0
  437. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/sync.py +0 -0
  438. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/util.py +0 -0
  439. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/viewsets/__init__.py +0 -0
  440. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/plugin/viewsets/content.py +0 -0
  441. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/responses.py +0 -0
  442. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tasking/__init__.py +0 -0
  443. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tasking/entrypoint.py +0 -0
  444. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tasking/kafka.py +0 -0
  445. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tasking/storage.py +0 -0
  446. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tasking/worker.py +0 -0
  447. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/__init__.py +0 -0
  448. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/__init__.py +0 -0
  449. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/__init__.py +0 -0
  450. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
  451. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
  452. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_api_root_rewrite.py +0 -0
  453. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_artifact_distribution.py +0 -0
  454. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_auth.py +0 -0
  455. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
  456. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
  457. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_crud_domains.py +0 -0
  458. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_filter.py +0 -0
  459. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_login.py +0 -0
  460. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_openapi_schema.py +0 -0
  461. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_openpgp.py +0 -0
  462. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_replication.py +0 -0
  463. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_repos.py +0 -0
  464. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_role.py +0 -0
  465. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
  466. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_scoping.py +0 -0
  467. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
  468. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_status.py +0 -0
  469. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_task_purge.py +0 -0
  470. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_upload.py +0 -0
  471. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_users_groups.py +0 -0
  472. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/test_workers.py +0 -0
  473. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
  474. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_checkpoint.py +0 -0
  475. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_content_access.py +0 -0
  476. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_content_cache.py +0 -0
  477. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_content_delivery.py +0 -0
  478. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
  479. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_content_path.py +0 -0
  480. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_content_promotion.py +0 -0
  481. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_contentguard.py +0 -0
  482. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_crud_repos.py +0 -0
  483. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_distributions.py +0 -0
  484. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_filesystemexport.py +0 -0
  485. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_labels.py +0 -0
  486. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_migrate.py +0 -0
  487. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_orphans.py +0 -0
  488. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_pagination.py +0 -0
  489. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_prn.py +0 -0
  490. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_proxy.py +0 -0
  491. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_pulpimport.py +0 -0
  492. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_reclaim_disk_space.py +0 -0
  493. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_repair.py +0 -0
  494. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_repo_versions.py +0 -0
  495. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_tasks.py +0 -0
  496. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/api/using_plugin/test_unlinking_repo.py +0 -0
  497. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/assets/__init__.py +0 -0
  498. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/content_with_coverage.py +0 -0
  499. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/functional/utils.py +0 -0
  500. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/performance/__init__.py +0 -0
  501. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/performance/test_performance.py +0 -0
  502. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/__init__.py +0 -0
  503. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/conftest.py +0 -0
  504. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/content/__init__.py +0 -0
  505. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/content/test_handler.py +0 -0
  506. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
  507. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/download/__init__.py +0 -0
  508. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
  509. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
  510. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/metrics/__init__.py +0 -0
  511. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/metrics/conftest.py +0 -0
  512. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/metrics/test_aiohttp_instrumentation.py +0 -0
  513. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/metrics/test_django_instrumentation.py +0 -0
  514. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/migration/__init__.py +0 -0
  515. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/migration/test_0077_move_remote_url_credentials.py +0 -0
  516. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/models/__init__.py +0 -0
  517. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/models/test_base.py +0 -0
  518. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/models/test_content.py +0 -0
  519. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/models/test_remote.py +0 -0
  520. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/models/test_repository.py +0 -0
  521. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/roles/__init__.py +0 -0
  522. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/roles/test_roles.py +0 -0
  523. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/serializers/__init__.py +0 -0
  524. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/serializers/test_base.py +0 -0
  525. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/serializers/test_domain.py +0 -0
  526. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/serializers/test_fields.py +0 -0
  527. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/serializers/test_orphans_cleanup.py +0 -0
  528. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -0
  529. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
  530. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/stages/__init__.py +0 -0
  531. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
  532. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/stages/test_stages.py +0 -0
  533. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_cache.py +0 -0
  534. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_chunked_file.py +0 -0
  535. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_content_guard.py +0 -0
  536. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_files.py +0 -0
  537. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_import_checks.py +0 -0
  538. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_pulp_urls.py +0 -0
  539. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_settings.py +0 -0
  540. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_util.py +0 -0
  541. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/test_viewsets.py +0 -0
  542. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
  543. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore/tests/unit/viewsets/test_viewset_base.py +0 -0
  544. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore.egg-info/SOURCES.txt +0 -0
  545. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore.egg-info/dependency_links.txt +0 -0
  546. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore.egg-info/entry_points.txt +0 -0
  547. {pulpcore-3.76.0 → pulpcore-3.77.0}/pulpcore.egg-info/top_level.txt +0 -0
  548. {pulpcore-3.76.0 → pulpcore-3.77.0}/setup.cfg +0 -0
  549. {pulpcore-3.76.0 → pulpcore-3.77.0}/test_requirements.txt +0 -0
  550. {pulpcore-3.76.0 → pulpcore-3.77.0}/unittest_requirements.txt +0 -0
@@ -8,6 +8,80 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.77.0 (2025-05-06) {: #3.77.0 }
12
+
13
+ ### REST API {: #3.77.0-rest-api }
14
+
15
+ #### Features {: #3.77.0-rest-api-feature }
16
+
17
+ - The `TASK_DIAGNOSTICS` option now permits individual diagnostics to be enabled or disabled by listing them.
18
+ [#4548](https://github.com/pulp/pulpcore/issues/4548)
19
+ - If enabled using `TASK_DIAGNOSTICS` and the appropriate package is installed, tasks can now output a profile of what functions / lines allocated the most memory at the time of peak RSS.
20
+
21
+ #### Bugfixes {: #3.77.0-rest-api-bugfix }
22
+
23
+ - Fixed a memory consumption issue that was triggered by the use of the Alternate Content Source feature.
24
+ [#6500](https://github.com/pulp/pulpcore/issues/6500)
25
+ - Fixed incorrect use of f-strings in gettext.
26
+ [#6521](https://github.com/pulp/pulpcore/issues/6521)
27
+
28
+ #### Improved Documentation {: #3.77.0-rest-api-doc }
29
+
30
+ - Fixed the TASK_DIAGNOSTICS documentation, which was out of date.
31
+ [#6481](https://github.com/pulp/pulpcore/issues/6481)
32
+
33
+ #### Misc {: #3.77.0-rest-api-misc }
34
+
35
+ -
36
+
37
+ ### Plugin API {: #3.77.0-plugin-api }
38
+
39
+ #### Bugfixes {: #3.77.0-plugin-api-bugfix }
40
+
41
+ - Re-added* timeout to tasks dispatched as immediate for both deferred and non-deferred runs.
42
+
43
+ Also, immediate tasks must be coroutines from now on.
44
+ This is to enable immediate tasks to run on the workers foreground without completely blocking heartbeats.
45
+ Support for legacy non-coroutines immediate task will be dropped in pulpcore 3.85.
46
+
47
+ \* This was added in pulpcore 3.75.0, reverted in 3.75.1 due to a regression and re-applied here with the regression fix.
48
+ [#6429](https://github.com/pulp/pulpcore/issues/6429)
49
+
50
+ ### Pulp File {: #3.77.0-pulp-file }
51
+
52
+ No significant changes.
53
+
54
+ ### Pulp Cert Guard {: #3.77.0-pulp-cert-guard }
55
+
56
+ No significant changes.
57
+
58
+ ---
59
+
60
+ ## 3.76.1 (2025-04-24) {: #3.76.1 }
61
+
62
+ ### REST API {: #3.76.1-rest-api }
63
+
64
+ #### Bugfixes {: #3.76.1-rest-api-bugfix }
65
+
66
+ - Fixed a memory consumption issue that was triggered by the use of the Alternate Content Source feature.
67
+ [#6500](https://github.com/pulp/pulpcore/issues/6500)
68
+ - Reverted fix for #6491, it broke certificate-chains.
69
+ [#6510](https://github.com/pulp/pulpcore/issues/6510)
70
+
71
+ ### Plugin API {: #3.76.1-plugin-api }
72
+
73
+ No significant changes.
74
+
75
+ ### Pulp File {: #3.76.1-pulp-file }
76
+
77
+ No significant changes.
78
+
79
+ ### Pulp Cert Guard {: #3.76.1-pulp-cert-guard }
80
+
81
+ No significant changes.
82
+
83
+ ---
84
+
11
85
  ## 3.76.0 (2025-04-22) {: #3.76.0 }
12
86
 
13
87
  ### REST API {: #3.76.0-rest-api }
@@ -51,6 +125,28 @@ No significant changes.
51
125
 
52
126
  ---
53
127
 
128
+ ## 3.75.3 (2025-04-22) {: #3.75.3 }
129
+
130
+ ### REST API {: #3.75.3-rest-api }
131
+
132
+ No significant changes.
133
+
134
+ ### Plugin API {: #3.75.3-plugin-api }
135
+
136
+ #### Bugfixes {: #3.75.3-plugin-api-bugfix }
137
+
138
+ - Fixed `add_roles_for_object_creator` not handling anonymous users.
139
+
140
+ ### Pulp File {: #3.75.3-pulp-file }
141
+
142
+ No significant changes.
143
+
144
+ ### Pulp Cert Guard {: #3.75.3-pulp-cert-guard }
145
+
146
+ No significant changes.
147
+
148
+ ---
149
+
54
150
  ## 3.75.2 (2025-04-09) {: #3.75.2 }
55
151
 
56
152
  ### REST API {: #3.75.2-rest-api }
@@ -251,6 +347,98 @@ No significant changes.
251
347
 
252
348
  ---
253
349
 
350
+ ## 3.73.8 (2025-04-24) {: #3.73.8 }
351
+
352
+ ### REST API {: #3.73.8-rest-api }
353
+
354
+ #### Bugfixes {: #3.73.8-rest-api-bugfix }
355
+
356
+ - Reverted fix for #6491, it broke certificate-chains.
357
+ [#6510](https://github.com/pulp/pulpcore/issues/6510)
358
+
359
+ ### Plugin API {: #3.73.8-plugin-api }
360
+
361
+ No significant changes.
362
+
363
+ ### Pulp File {: #3.73.8-pulp-file }
364
+
365
+ No significant changes.
366
+
367
+ ### Pulp Cert Guard {: #3.73.8-pulp-cert-guard }
368
+
369
+ No significant changes.
370
+
371
+ ---
372
+
373
+ ## 3.73.7 (2025-04-23) {: #3.73.7 }
374
+
375
+ ### REST API {: #3.73.7-rest-api }
376
+
377
+ #### Bugfixes {: #3.73.7-rest-api-bugfix }
378
+
379
+ - Fixed a memory consumption issue that was triggered by the use of the Alternate Content Source feature.
380
+ [#6500](https://github.com/pulp/pulpcore/issues/6500)
381
+
382
+ ### Plugin API {: #3.73.7-plugin-api }
383
+
384
+ No significant changes.
385
+
386
+ ### Pulp File {: #3.73.7-pulp-file }
387
+
388
+ No significant changes.
389
+
390
+ ### Pulp Cert Guard {: #3.73.7-pulp-cert-guard }
391
+
392
+ No significant changes.
393
+
394
+ ---
395
+
396
+ ## 3.73.6 (2025-04-23) {: #3.73.6 }
397
+
398
+ ### REST API {: #3.73.6-rest-api }
399
+
400
+ No significant changes.
401
+
402
+ ### Plugin API {: #3.73.6-plugin-api }
403
+
404
+ No significant changes.
405
+
406
+ ### Pulp File {: #3.73.6-pulp-file }
407
+
408
+ No significant changes.
409
+
410
+ ### Pulp Cert Guard {: #3.73.6-pulp-cert-guard }
411
+
412
+ No significant changes.
413
+
414
+ ---
415
+
416
+ ## 3.73.5 (2025-04-22) {: #3.73.5 }
417
+
418
+ ### REST API {: #3.73.5-rest-api }
419
+
420
+ #### Bugfixes {: #3.73.5-rest-api-bugfix }
421
+
422
+ - Client- and CA-certificates used in Remotes are now validated and any comments stripped
423
+ before being applied to the Remote.
424
+ [#6491](https://github.com/pulp/pulpcore/issues/6491)
425
+
426
+ ### Plugin API {: #3.73.5-plugin-api }
427
+
428
+ #### Bugfixes {: #3.73.5-plugin-api-bugfix }
429
+
430
+ - Fixed `add_roles_for_object_creator` not handling anonymous users.
431
+
432
+ ### Pulp File {: #3.73.5-pulp-file }
433
+
434
+ No significant changes.
435
+
436
+ ### Pulp Cert Guard {: #3.73.5-pulp-cert-guard }
437
+
438
+ No significant changes.
439
+
440
+ ---
441
+
254
442
  ## 3.73.4 (2025-04-08) {: #3.73.4 }
255
443
 
256
444
  ### REST API {: #3.73.4-rest-api }
@@ -1050,6 +1238,78 @@ No significant changes.
1050
1238
 
1051
1239
  ---
1052
1240
 
1241
+ ## 3.63.17 (2025-04-24) {: #3.63.17 }
1242
+
1243
+ ### REST API {: #3.63.17-rest-api }
1244
+
1245
+ #### Bugfixes {: #3.63.17-rest-api-bugfix }
1246
+
1247
+ - Reverted fix for #6491, it broke certificate-chains.
1248
+ [#6510](https://github.com/pulp/pulpcore/issues/6510)
1249
+
1250
+ ### Plugin API {: #3.63.17-plugin-api }
1251
+
1252
+ No significant changes.
1253
+
1254
+ ### Pulp File {: #3.63.17-pulp-file }
1255
+
1256
+ No significant changes.
1257
+
1258
+ ### Pulp Cert Guard {: #3.63.17-pulp-cert-guard }
1259
+
1260
+ No significant changes.
1261
+
1262
+ ---
1263
+
1264
+ ## 3.63.16 (2025-04-23) {: #3.63.16 }
1265
+
1266
+ ### REST API {: #3.63.16-rest-api }
1267
+
1268
+ #### Bugfixes {: #3.63.16-rest-api-bugfix }
1269
+
1270
+ - Fixed a memory consumption issue that was triggered by the use of the Alternate Content Source feature.
1271
+ [#6500](https://github.com/pulp/pulpcore/issues/6500)
1272
+
1273
+ ### Plugin API {: #3.63.16-plugin-api }
1274
+
1275
+ No significant changes.
1276
+
1277
+ ### Pulp File {: #3.63.16-pulp-file }
1278
+
1279
+ No significant changes.
1280
+
1281
+ ### Pulp Cert Guard {: #3.63.16-pulp-cert-guard }
1282
+
1283
+ No significant changes.
1284
+
1285
+ ---
1286
+
1287
+ ## 3.63.15 (2025-04-22) {: #3.63.15 }
1288
+
1289
+ ### REST API {: #3.63.15-rest-api }
1290
+
1291
+ #### Bugfixes {: #3.63.15-rest-api-bugfix }
1292
+
1293
+ - Client- and CA-certificates used in Remotes are now validated and any comments stripped
1294
+ before being applied to the Remote.
1295
+ [#6491](https://github.com/pulp/pulpcore/issues/6491)
1296
+
1297
+ ### Plugin API {: #3.63.15-plugin-api }
1298
+
1299
+ #### Bugfixes {: #3.63.15-plugin-api-bugfix }
1300
+
1301
+ - Fixed `add_roles_for_object_creator` not handling anonymous users.
1302
+
1303
+ ### Pulp File {: #3.63.15-pulp-file }
1304
+
1305
+ No significant changes.
1306
+
1307
+ ### Pulp Cert Guard {: #3.63.15-pulp-cert-guard }
1308
+
1309
+ No significant changes.
1310
+
1311
+ ---
1312
+
1053
1313
  ## 3.63.14 (2025-04-08) {: #3.63.14 }
1054
1314
 
1055
1315
  ### REST API {: #3.63.14-rest-api }
@@ -2218,6 +2478,76 @@ No significant changes.
2218
2478
 
2219
2479
  ---
2220
2480
 
2481
+ ## 3.49.39 (2025-04-24) {: #3.49.39 }
2482
+
2483
+ ### REST API {: #3.49.39-rest-api }
2484
+
2485
+ #### Bugfixes {: #3.49.39-rest-api-bugfix }
2486
+
2487
+ - Reverted fix for #6491, it broke certificate-chains.
2488
+ [#6510](https://github.com/pulp/pulpcore/issues/6510)
2489
+
2490
+ ### Plugin API {: #3.49.39-plugin-api }
2491
+
2492
+ No significant changes.
2493
+
2494
+ ### Pulp File {: #3.49.39-pulp-file }
2495
+
2496
+ No significant changes.
2497
+
2498
+ ### Pulp Cert Guard {: #3.49.39-pulp-cert-guard }
2499
+
2500
+ No significant changes.
2501
+
2502
+ ---
2503
+
2504
+ ## 3.49.38 (2025-04-23) {: #3.49.38 }
2505
+
2506
+ ### REST API {: #3.49.38-rest-api }
2507
+
2508
+ #### Bugfixes {: #3.49.38-rest-api-bugfix }
2509
+
2510
+ - Fixed a memory consumption issue that was triggered by the use of the Alternate Content Source feature.
2511
+ [#6500](https://github.com/pulp/pulpcore/issues/6500)
2512
+
2513
+ ### Plugin API {: #3.49.38-plugin-api }
2514
+
2515
+ No significant changes.
2516
+
2517
+ ### Pulp File {: #3.49.38-pulp-file }
2518
+
2519
+ No significant changes.
2520
+
2521
+ ### Pulp Cert Guard {: #3.49.38-pulp-cert-guard }
2522
+
2523
+ No significant changes.
2524
+
2525
+ ---
2526
+
2527
+ ## 3.49.37 (2025-04-22) {: #3.49.37 }
2528
+
2529
+ ### REST API {: #3.49.37-rest-api }
2530
+
2531
+ #### Bugfixes {: #3.49.37-rest-api-bugfix }
2532
+
2533
+ - Client- and CA-certificates used in Remotes are now validated and any comments stripped
2534
+ before being applied to the Remote.
2535
+ [#6491](https://github.com/pulp/pulpcore/issues/6491)
2536
+
2537
+ ### Plugin API {: #3.49.37-plugin-api }
2538
+
2539
+ No significant changes.
2540
+
2541
+ ### Pulp File {: #3.49.37-pulp-file }
2542
+
2543
+ No significant changes.
2544
+
2545
+ ### Pulp Cert Guard {: #3.49.37-pulp-cert-guard }
2546
+
2547
+ No significant changes.
2548
+
2549
+ ---
2550
+
2221
2551
  ## 3.49.36 (2025-04-08) {: #3.49.36 }
2222
2552
 
2223
2553
  ### REST API {: #3.49.36-rest-api }
@@ -3653,6 +3983,52 @@ No significant changes.
3653
3983
  - Starting from this release pulp_file will be shipped as part of the pulpcore package.
3654
3984
  [#4550](https://github.com/pulp/pulpcore/issues/4550)
3655
3985
 
3986
+ ## 3.39.30 (2025-04-24) {: #3.39.30 }
3987
+
3988
+ ### REST API {: #3.39.30-rest-api }
3989
+
3990
+ #### Bugfixes {: #3.39.30-rest-api-bugfix }
3991
+
3992
+ - Reverted fix for #6491, it broke certificate-chains.
3993
+ [#6510](https://github.com/pulp/pulpcore/issues/6510)
3994
+
3995
+ ### Plugin API {: #3.39.30-plugin-api }
3996
+
3997
+ No significant changes.
3998
+
3999
+ ---
4000
+
4001
+ ## 3.39.29 (2025-04-23) {: #3.39.29 }
4002
+
4003
+ ### REST API {: #3.39.29-rest-api }
4004
+
4005
+ #### Bugfixes {: #3.39.29-rest-api-bugfix }
4006
+
4007
+ - Fixed a memory consumption issue that was triggered by the use of the Alternate Content Source feature.
4008
+ [#6500](https://github.com/pulp/pulpcore/issues/6500)
4009
+
4010
+ ### Plugin API {: #3.39.29-plugin-api }
4011
+
4012
+ No significant changes.
4013
+
4014
+ ---
4015
+
4016
+ ## 3.39.28 (2025-04-22) {: #3.39.28 }
4017
+
4018
+ ### REST API {: #3.39.28-rest-api }
4019
+
4020
+ #### Bugfixes {: #3.39.28-rest-api-bugfix }
4021
+
4022
+ - Client- and CA-certificates used in Remotes are now validated and any comments stripped
4023
+ before being applied to the Remote.
4024
+ [#6491](https://github.com/pulp/pulpcore/issues/6491)
4025
+
4026
+ ### Plugin API {: #3.39.28-plugin-api }
4027
+
4028
+ No significant changes.
4029
+
4030
+ ---
4031
+
3656
4032
  ## 3.39.27 (2025-04-02) {: #3.39.27 }
3657
4033
 
3658
4034
  ### REST API {: #3.39.27-rest-api }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.76.0
3
+ Version: 3.77.0
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -21,14 +21,14 @@ Classifier: Programming Language :: Python :: 3.12
21
21
  Requires-Python: >=3.9
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
- Requires-Dist: aiodns<=3.2.0,>=3.0
24
+ Requires-Dist: aiodns<=3.3.0,>=3.0
25
25
  Requires-Dist: aiofiles<24.2.0,>=22.1
26
26
  Requires-Dist: aiohttp<3.12,>=3.8.1
27
27
  Requires-Dist: asyncio-throttle<=1.0.2,>=1.0
28
28
  Requires-Dist: async-timeout<4.0.4,>=4.0.3; python_version < "3.11"
29
29
  Requires-Dist: backoff<2.2.2,>=2.1.2
30
30
  Requires-Dist: click<=8.1.8,>=8.1.0
31
- Requires-Dist: cryptography<44.0.3,>=38.0.1
31
+ Requires-Dist: cryptography<44.0.4,>=38.0.1
32
32
  Requires-Dist: Django~=4.2.0
33
33
  Requires-Dist: django-filter<=25.1,>=23.1
34
34
  Requires-Dist: django-guid<=3.5.1,>=3.3
@@ -52,13 +52,13 @@ Requires-Dist: opentelemetry-exporter-otlp-proto-http<1.33,>=1.27.0
52
52
  Requires-Dist: protobuf<6.0,>=4.21.1
53
53
  Requires-Dist: pulp-glue<0.33,>=0.18.0
54
54
  Requires-Dist: pygtrie<=2.5.0,>=2.5
55
- Requires-Dist: psycopg[binary]<=3.2.6,>=3.1.8
55
+ Requires-Dist: psycopg[binary]<=3.2.7,>=3.1.8
56
56
  Requires-Dist: pyparsing<=3.2.3,>=3.1.0
57
57
  Requires-Dist: python-gnupg<=0.5.4,>=0.5
58
58
  Requires-Dist: PyYAML<=6.0.2,>=5.1.1
59
59
  Requires-Dist: redis<5.2.2,>=4.3
60
60
  Requires-Dist: tablib<3.6.0
61
- Requires-Dist: url-normalize<=2.2.0,>=1.4.3
61
+ Requires-Dist: url-normalize<=2.2.1,>=1.4.3
62
62
  Requires-Dist: uuid6<=2024.7.10,>=2023.5.2
63
63
  Requires-Dist: whitenoise<6.10.0,>=5.0
64
64
  Requires-Dist: yarl<1.20.1,>=1.8
@@ -75,6 +75,9 @@ Requires-Dist: django-prometheus; extra == "prometheus"
75
75
  Provides-Extra: kafka
76
76
  Requires-Dist: cloudevents==1.11.0; extra == "kafka"
77
77
  Requires-Dist: confluent-kafka<2.10.0,>=2.4.0; extra == "kafka"
78
+ Provides-Extra: diagnostics
79
+ Requires-Dist: pyinstrument~=5.0; extra == "diagnostics"
80
+ Requires-Dist: memray~=1.17; extra == "diagnostics"
78
81
  Dynamic: license-file
79
82
 
80
83
 
@@ -6,6 +6,6 @@ class PulpCertGuardPluginAppConfig(PulpPluginAppConfig):
6
6
 
7
7
  name = "pulp_certguard.app"
8
8
  label = "certguard"
9
- version = "3.76.0"
9
+ version = "3.77.0"
10
10
  python_package_name = "pulpcore"
11
11
  domain_compatible = True
@@ -8,6 +8,6 @@ class PulpFilePluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_file.app"
10
10
  label = "file"
11
- version = "3.76.0"
11
+ version = "3.77.0"
12
12
  python_package_name = "pulpcore"
13
13
  domain_compatible = True
@@ -45,9 +45,46 @@ IwtfRg==
45
45
  -----END CERTIFICATE-----
46
46
  """
47
47
 
48
+ GOOD_CERT_TWO = """-----BEGIN CERTIFICATE-----
49
+ MIICqjCCAZICAgtCMA0GCSqGSIb3DQEBBQUAMBIxEDAOBgNVBAMMB2dvdmVnYW4w
50
+ HhcNMTkwMzEzMjEwMzMwWhcNMjkwMzEwMjEwMzMwWjAjMRAwDgYDVQQDDAdnb3Zl
51
+ Z2FuMQ8wDQYDVQQKDAZjbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
52
+ AoIBAQCxJWx5t25jY4womWtKxGqv2LHg9YnU0b2VCECLhu5JjoAzFPja5VHB0Maz
53
+ G8m5c0+N2ubrPcBC+KdoGMd2MqrrGyzKOiwbVDW0YOgnFqh58p796iKtVboWx41y
54
+ Gzn289PzYccxH6mhhPmRVD25KyV1TenqvGIHJTepF7mgIemGDTv+j7+mYPT/3r6I
55
+ pnwTkEVPr+Q4iW0l3fNESlFFRt2b7yhz9f0E4SMhmIRnSIGOLO1zE02IJ1hTuGkx
56
+ /MZ1AqQdVSdm4jenTIMp91R1kYylI66yMcpU6w6x4j8qvJ8nBZ4r4DqOHcOobyHp
57
+ qlaJjv/K5SGJxV2k0EFk7b483lbrAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBALYh
58
+ SHLGJCxVL8ePFLs294fhTq4pTQsvHm8q3SyJD9DaB+HKTceCFErNv18Dsl/QwBis
59
+ WPHWKpDN0EUcuuE/8oUaGjjzByJ8bPafMicFCHSSefcJw+IOOqKBkWDT+4YGkvfs
60
+ RpwxSLqLOhEt7aSkiPcMvD20v8cvj0O36c5G3Vv0E8WmPWOEqjyPFoU9X1vACr+h
61
+ DdIKvxFbvRU9ObektFxOYHuvP010IBv2dGyw3G5W5fh9A5OSXHAShWSwkRU36oft
62
+ ugB47fIIlb7zLm4GBmxGG0yBwAf4otBlUXVNqNx15bbUuVgKbGMFfItQgEo9AQcz
63
+ gGsetwDOs/NgZ95oH40=
64
+ -----END CERTIFICATE-----
65
+ """
66
+
48
67
  BAD_CERT = """-----BEGIN CERTIFICATE-----\nBOGUS==\n-----END CERTIFICATE-----
49
68
  """
50
69
 
70
+ NO_CERT = """
71
+ MIICoDCCAYgCCQC2c2uY34HNlzANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdn
72
+ b3ZlZ2FuMB4XDTE5MDMxMzIxMDMzMFoXDTM4MDYxNjIxMDMzMFowEjEQMA4GA1UE
73
+ AwwHZ292ZWdhbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANEatWsZ
74
+ 1iwGmTxD02dxMI4ci+Au4FzvmWLBWD07H5GGTVFwnqmNOKhP6DHs1EsMZevkUvaG
75
+ CRxZlPYhjNFLZr2c2FnoDZ5nBXlSW6sodXURbMfyT187nDeBXVYFuh4T2eNCatnm
76
+ t3vgdi+pWsF0LbOgpu7GJI2sh5K1imxyB77tJ7PFTDZCSohkK+A+0nDCnJqDUNXD
77
+ 5CK8iaBciCbnzp3nRKuM2EmgXno9Repy/HYxIgB7ZodPwDvYNjMGfvs0s9mJIKmc
78
+ CKgkPXVO9y9gaRrrytICcPOs+YoU/PN4Ttg6wzxaWvJgw44vsR8wM/0i4HlXfBdl
79
+ 9br+cgn8jukDOgECAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAyNHV6NA+0GfUrvBq
80
+ AHXHNnBE3nzMhGPhF/0B/dO4o0n6pgGZyzRxaUaoo6+5oQnBf/2NmDyLWdalFWX7
81
+ D1WBaxkhK+FU922+qwQKhABlwMxGCnfZ8F+rlk4lNotm3fP4wHbnO1SGIDvvZFt/
82
+ mpMgkhwL4lShUFv57YylXr+D2vSFcAryKiVGk1X3sHMXlFAMLHUm3d97fJnmb1qQ
83
+ wC43BlJCBQF98wKtYNwTUG/9gblfk8lCB2DL1hwmPy3q9KbSDOdUK3HW6a75ZzCD
84
+ 6mXc/Y0bJcwweDsywbPBYP13hYUcpw4htcU6hg6DsoAjLNkSrlY+GGo7htx+L9HH
85
+ IwtfRg==
86
+ """
87
+
51
88
 
52
89
  def _run_basic_sync_and_assert(file_bindings, remote, file_repo, monitor_task):
53
90
  body = RepositorySyncURL(remote=remote.pulp_href)
@@ -274,3 +311,34 @@ def test_certificate_clean(file_remote_factory):
274
311
  a_remote = file_remote_factory(url="http://example.com/", ca_cert=BAD_CERT)
275
312
  with pytest.raises(BadRequestException):
276
313
  a_remote = file_remote_factory(url="http://example.com/", client_cert=BAD_CERT)
314
+
315
+ # Check that a no-cert string returns the expected error
316
+ with pytest.raises(BadRequestException):
317
+ a_remote = file_remote_factory(url="http://example.com/", ca_cert=NO_CERT)
318
+ with pytest.raises(BadRequestException):
319
+ a_remote = file_remote_factory(url="http://example.com/", client_cert=NO_CERT)
320
+
321
+
322
+ @pytest.mark.parallel
323
+ def test_multi_certificate_clean(file_remote_factory):
324
+ multi_cert = GOOD_CERT + GOOD_CERT_TWO
325
+
326
+ # Check that a good multi-cert PEM validates
327
+ a_remote = file_remote_factory(url="http://example.com/", ca_cert=multi_cert)
328
+ assert a_remote.ca_cert == multi_cert
329
+ a_remote = file_remote_factory(url="http://example.com/", client_cert=multi_cert)
330
+ assert a_remote.client_cert == multi_cert
331
+
332
+ # Check that a good-cert-with-comments validates and strips the comments
333
+ multi_cert_with_comment = GOOD_CERT_WITH_COMMENT + GOOD_CERT_TWO
334
+ a_remote = file_remote_factory(url="http://example.com/", ca_cert=multi_cert_with_comment)
335
+ assert a_remote.ca_cert == multi_cert
336
+ a_remote = file_remote_factory(url="http://example.com/", client_cert=multi_cert_with_comment)
337
+ assert a_remote.client_cert == multi_cert
338
+
339
+ # Check that multi-with-bad is rejected
340
+ multi_bad = GOOD_CERT + BAD_CERT
341
+ with pytest.raises(BadRequestException):
342
+ a_remote = file_remote_factory(url="http://example.com/", ca_cert=multi_bad)
343
+ with pytest.raises(BadRequestException):
344
+ a_remote = file_remote_factory(url="http://example.com/", client_cert=multi_bad)
@@ -247,7 +247,7 @@ class PulpAppConfig(PulpPluginAppConfig):
247
247
  label = "core"
248
248
 
249
249
  # The version of this app
250
- version = "3.76.0"
250
+ version = "3.77.0"
251
251
 
252
252
  # The python package name providing this app
253
253
  python_package_name = "pulpcore"
@@ -8,7 +8,7 @@ from pulp_glue.common.context import PulpContext
8
8
  from pulpcore.app.models import UpstreamPulp
9
9
  from pulpcore.tasking.tasks import dispatch
10
10
  from pulpcore.app.tasks.base import (
11
- general_update,
11
+ ageneral_update,
12
12
  general_create,
13
13
  general_multi_delete,
14
14
  )
@@ -133,7 +133,7 @@ class Replicator:
133
133
  needs_update = self.needs_update(remote_fields_dict, remote)
134
134
  if needs_update:
135
135
  dispatch(
136
- general_update,
136
+ ageneral_update,
137
137
  task_group=self.task_group,
138
138
  shared_resources=[self.server],
139
139
  exclusive_resources=[remote],
@@ -162,7 +162,7 @@ class Replicator:
162
162
  needs_update = self.needs_update(repo_fields_dict, repository)
163
163
  if needs_update:
164
164
  dispatch(
165
- general_update,
165
+ ageneral_update,
166
166
  task_group=self.task_group,
167
167
  shared_resources=[self.server],
168
168
  exclusive_resources=[repository],
@@ -197,7 +197,7 @@ class Replicator:
197
197
  if needs_update:
198
198
  # Update the distribution
199
199
  dispatch(
200
- general_update,
200
+ ageneral_update,
201
201
  task_group=self.task_group,
202
202
  shared_resources=[repository, self.server],
203
203
  exclusive_resources=self.distros_uris,
@@ -407,14 +407,34 @@ def validate_repo_and_remote(repository, field, **kwargs):
407
407
 
408
408
  detail_repo = repository.cast()
409
409
  if detail_repo.remote and type(detail_repo.remote.cast()) not in detail_repo.REMOTE_TYPES:
410
- msg = (
411
- f"Type for Remote '{get_prn(repository.remote)}' "
412
- f"does not match Repository '{get_prn(repository)}'"
413
- )
414
- if repository_version := kwargs.pop("repository_version", None):
415
- msg += f" from RepositoryVersion '{get_prn(repository_version)}'"
416
- if publication := kwargs.pop("publication", None):
417
- msg += f" from Publication '{get_prn(publication)}'"
418
- msg += "."
410
+ repository_version = kwargs.pop("repository_version", None)
411
+ publication = kwargs.pop("publication", None)
412
+
413
+ if repository_version and publication:
414
+ msg_template = _(
415
+ "Type for Remote '{remote}' does not match Repository '{repository}' "
416
+ "from RepositoryVersion '{repository_version}' from Publication '{publication}'."
417
+ )
418
+ elif repository_version:
419
+ msg_template = _(
420
+ "Type for Remote '{remote}' does not match Repository '{repository}' "
421
+ "from RepositoryVersion '{repository_version}'."
422
+ )
423
+ elif publication:
424
+ msg_template = _(
425
+ "Type for Remote '{remote}' does not match Repository '{repository}' "
426
+ "from Publication '{publication}'."
427
+ )
428
+ else:
429
+ msg_template = _("Type for Remote '{remote}' does not match Repository '{repository}'.")
419
430
 
420
- raise serializers.ValidationError({field: _(msg)})
431
+ raise serializers.ValidationError(
432
+ {
433
+ field: msg_template.format(
434
+ remote=get_prn(repository.remote),
435
+ repository=get_prn(repository),
436
+ repository_version=get_prn(repository_version) if repository_version else "",
437
+ publication=get_prn(publication) if publication else "",
438
+ )
439
+ }
440
+ )