pulpcore 3.49.55__tar.gz → 3.49.57__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.
Files changed (512) hide show
  1. {pulpcore-3.49.55 → pulpcore-3.49.57}/CHANGES.md +47 -0
  2. {pulpcore-3.49.55 → pulpcore-3.49.57}/PKG-INFO +2 -2
  3. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/__init__.py +1 -1
  4. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/api/test_rhsm_certguard.py +0 -1
  5. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/constants.py +0 -1
  6. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/__init__.py +1 -1
  7. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/models.py +0 -1
  8. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/tasks/publishing.py +0 -1
  9. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/tasks/synchronizing.py +1 -2
  10. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/manifest.py +0 -1
  11. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_domains.py +0 -1
  12. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_download_policies.py +0 -1
  13. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_pulp_export.py +0 -1
  14. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/unit/test_serializers.py +0 -1
  15. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/apps.py +1 -2
  16. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/global_access_conditions.py +0 -1
  17. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/dump-permissions.py +8 -17
  18. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/openapi.py +2 -4
  19. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/modelresource.py +0 -1
  20. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/publication.py +17 -6
  21. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/repository.py +0 -1
  22. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/upload.py +1 -0
  23. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/base.py +0 -1
  24. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/domain.py +0 -1
  25. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/publication.py +2 -4
  26. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/upload.py +0 -1
  27. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/analytics.py +0 -1
  28. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/urls.py +0 -1
  29. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/util.py +0 -1
  30. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/constants.py +0 -1
  31. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/content/__init__.py +0 -2
  32. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/content/handler.py +10 -1
  33. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/download/base.py +0 -1
  34. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/download/factory.py +0 -1
  35. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/download/http.py +0 -1
  36. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/openapi/__init__.py +0 -1
  37. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/actions.py +0 -1
  38. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/migrations.py +0 -1
  39. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/repo_version_utils.py +0 -1
  40. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/sync.py +0 -1
  41. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tasking/entrypoint.py +0 -1
  42. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/__init__.py +0 -1
  43. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_filter.py +0 -1
  44. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_status.py +0 -1
  45. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_upload.py +30 -0
  46. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_workers.py +0 -1
  47. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/gpg_ascii_armor_signing_service.py +0 -1
  48. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/models/test_remote.py +0 -1
  49. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/roles/test_roles.py +0 -1
  50. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/serializers/test_domain.py +0 -1
  51. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -1
  52. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/stages/test_stages.py +0 -1
  53. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_util.py +0 -1
  54. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore.egg-info/PKG-INFO +2 -2
  55. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore.egg-info/requires.txt +1 -1
  56. {pulpcore-3.49.55 → pulpcore-3.49.57}/pyproject.toml +1 -1
  57. {pulpcore-3.49.55 → pulpcore-3.49.57}/requirements.txt +1 -1
  58. {pulpcore-3.49.55 → pulpcore-3.49.57}/setup.py +1 -1
  59. {pulpcore-3.49.55 → pulpcore-3.49.57}/CODE_OF_CONDUCT.md +0 -0
  60. {pulpcore-3.49.55 → pulpcore-3.49.57}/COMMITMENT +0 -0
  61. {pulpcore-3.49.55 → pulpcore-3.49.57}/CONTRIBUTING.md +0 -0
  62. {pulpcore-3.49.55 → pulpcore-3.49.57}/COPYRIGHT +0 -0
  63. {pulpcore-3.49.55 → pulpcore-3.49.57}/LICENSE +0 -0
  64. {pulpcore-3.49.55 → pulpcore-3.49.57}/MANIFEST.in +0 -0
  65. {pulpcore-3.49.55 → pulpcore-3.49.57}/README.md +0 -0
  66. {pulpcore-3.49.55 → pulpcore-3.49.57}/ci_requirements.txt +0 -0
  67. {pulpcore-3.49.55 → pulpcore-3.49.57}/functest_requirements.txt +0 -0
  68. {pulpcore-3.49.55 → pulpcore-3.49.57}/manage.py +0 -0
  69. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/__init__.py +0 -0
  70. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/migrations/0001_initial.py +0 -0
  71. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/migrations/0002_alter_rhsmcertguard_contentguard_ptr_and_more.py +0 -0
  72. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/migrations/__init__.py +0 -0
  73. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/models.py +0 -0
  74. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/serializers.py +0 -0
  75. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/utils.py +0 -0
  76. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/app/viewsets.py +0 -0
  77. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/pytest_plugin.py +0 -0
  78. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/__init__.py +0 -0
  79. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/__init__.py +0 -0
  80. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/api/__init__.py +0 -0
  81. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/api/test_x509_certguard.py +0 -0
  82. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.crt +0 -0
  83. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/katello-default-ca.key +0 -0
  84. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/trusted_but_expired.pem +0 -0
  85. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/uber.cert +0 -0
  86. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert-key.pem +0 -0
  87. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/untrusted_cert.pem +0 -0
  88. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713-key.pem +0 -0
  89. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v1/1514454871848760713.pem +0 -0
  90. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840-key.pem +0 -0
  91. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v1/159442575569388840.pem +0 -0
  92. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985-key.pem +0 -0
  93. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v3/4260035510644027985.pem +0 -0
  94. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172-key.pem +0 -0
  95. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/rhsm/v3/5527980418107729172.pem +0 -0
  96. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/certificates/ca.pem +0 -0
  97. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/genca.sh +0 -0
  98. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/thirdparty_ca/keys/ca.pem +0 -0
  99. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/certificates/ca.pem +0 -0
  100. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/certificates/client.pem +0 -0
  101. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/certificates/server.pem +0 -0
  102. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/certificates/un_urlencoded_cert.txt +0 -0
  103. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/certificates/untrusted_client.pem +0 -0
  104. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/genall.sh +0 -0
  105. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/genca.sh +0 -0
  106. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/genclient.sh +0 -0
  107. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/gensrv.sh +0 -0
  108. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/keys/ca.pem +0 -0
  109. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/keys/client.pem +0 -0
  110. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/artifacts/x509/keys/server.pem +0 -0
  111. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/functional/conftest.py +0 -0
  112. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/unit/__init__.py +0 -0
  113. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_certguard/tests/unit/test_models.py +0 -0
  114. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/__init__.py +0 -0
  115. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0001_initial.py +0 -0
  116. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0002_file_related_names.py +0 -0
  117. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0003_auto_20191014_1721.py +0 -0
  118. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0004_filefilesystemexporter.py +0 -0
  119. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0005_filerepository.py +0 -0
  120. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0006_delete_filefilesystemexporter.py +0 -0
  121. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0007_filefilesystemexporter.py +0 -0
  122. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0008_add_manifest_field.py +0 -0
  123. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0009_move_data_to_new_master_distribution_model.py +0 -0
  124. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0010_auto_publish.py +0 -0
  125. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0011_fix_auto_publish.py +0 -0
  126. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0012_delete_filefilesystemexporter.py +0 -0
  127. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0013_file_acs.py +0 -0
  128. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0014_new_rbac_permissions.py +0 -0
  129. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0015_allow_null_manifest.py +0 -0
  130. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0016_add_domain.py +0 -0
  131. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/0017_alter_filealternatecontentsource_alternatecontentsource_ptr_and_more.py +0 -0
  132. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/migrations/__init__.py +0 -0
  133. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/modelresource.py +0 -0
  134. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/replica.py +0 -0
  135. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/serializers.py +0 -0
  136. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/tasks/__init__.py +0 -0
  137. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/app/viewsets.py +0 -0
  138. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/pytest_plugin.py +0 -0
  139. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/__init__.py +0 -0
  140. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/__init__.py +0 -0
  141. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/__init__.py +0 -0
  142. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_acs.py +0 -0
  143. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_auto_publish.py +0 -0
  144. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_bad_sync.py +0 -0
  145. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_crud_content_unit.py +0 -0
  146. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_crud_remotes.py +0 -0
  147. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_generic_list.py +0 -0
  148. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_labels.py +0 -0
  149. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_mime_types.py +0 -0
  150. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_publish.py +0 -0
  151. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_rbac.py +0 -0
  152. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_remote_settings.py +0 -0
  153. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/functional/api/test_sync.py +0 -0
  154. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulp_file/tests/unit/__init__.py +0 -0
  155. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/__init__.py +0 -0
  156. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/__init__.py +0 -0
  157. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/access_policy.py +0 -0
  158. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/authentication.py +0 -0
  159. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/checks.py +0 -0
  160. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/entrypoint.py +0 -0
  161. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/files.py +0 -0
  162. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/importexport.py +0 -0
  163. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/loggers.py +0 -0
  164. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/manage.py +0 -0
  165. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/__init__.py +0 -0
  166. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/__init__.py +0 -0
  167. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/add-signing-service.py +0 -0
  168. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/analyze-publication.py +0 -0
  169. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
  170. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
  171. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -0
  172. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/remove-plugin.py +0 -0
  173. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/remove-signing-service.py +0 -0
  174. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/repository-size.py +0 -0
  175. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
  176. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/rotate-db-key.py +0 -0
  177. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/management/commands/shell.py +0 -0
  178. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0001_initial.py +0 -0
  179. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
  180. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
  181. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
  182. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
  183. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
  184. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
  185. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
  186. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
  187. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
  188. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0011_relative_path.py +0 -0
  189. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
  190. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
  191. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
  192. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
  193. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
  194. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
  195. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
  196. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
  197. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
  198. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
  199. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
  200. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
  201. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
  202. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
  203. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0026_task_group.py +0 -0
  204. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0027_export_backend.py +0 -0
  205. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
  206. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0029_export_delete.py +0 -0
  207. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
  208. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
  209. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
  210. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
  211. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
  212. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
  213. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
  214. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
  215. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
  216. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
  217. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
  218. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
  219. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
  220. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
  221. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
  222. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
  223. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
  224. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
  225. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
  226. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
  227. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
  228. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
  229. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
  230. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
  231. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
  232. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0055_label.py +0 -0
  233. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
  234. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
  235. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
  236. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
  237. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
  238. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
  239. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
  240. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
  241. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
  242. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
  243. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
  244. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
  245. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
  246. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
  247. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
  248. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
  249. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
  250. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
  251. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
  252. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0074_acs.py +0 -0
  253. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
  254. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
  255. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
  256. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
  257. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
  258. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
  259. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
  260. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
  261. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
  262. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
  263. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
  264. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
  265. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
  266. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
  267. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
  268. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
  269. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0091_systemid.py +0 -0
  270. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
  271. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
  272. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
  273. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
  274. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
  275. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
  276. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
  277. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0099_versions_field.py +0 -0
  278. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0100_upstreampulp.py +0 -0
  279. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0101_add_domain.py +0 -0
  280. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0102_add_domain_relations.py +0 -0
  281. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0103_alter_export_task.py +0 -0
  282. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0104_delete_label.py +0 -0
  283. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0105_abstract_uuid_gen.py +0 -0
  284. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0106_alter_artifactdistribution_distribution_ptr_and_more.py +0 -0
  285. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0107_distribution_hidden.py +0 -0
  286. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0108_task_versions.py +0 -0
  287. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0109_contentartifact_relative_path_index.py +0 -0
  288. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0110_apiappstatus.py +0 -0
  289. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0111_task_enc_args_task_enc_kwargs.py +0 -0
  290. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0112_alter_upstreampulp_options.py +0 -0
  291. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0113_headercontentguard.py +0 -0
  292. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0114_remove_task_args_remove_task_kwargs.py +0 -0
  293. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0115_compositecontentguard.py +0 -0
  294. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0116_alter_remoteartifact_md5_alter_remoteartifact_sha1_and_more.py +0 -0
  295. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/0117_task_unblocked_at.py +0 -0
  296. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/migrations/__init__.py +0 -0
  297. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/mime_types.py +0 -0
  298. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/__init__.py +0 -0
  299. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/access_policy.py +0 -0
  300. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/acs.py +0 -0
  301. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/analytics.py +0 -0
  302. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/base.py +0 -0
  303. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/content.py +0 -0
  304. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/domain.py +0 -0
  305. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/exporter.py +0 -0
  306. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/fields.py +0 -0
  307. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/generic.py +0 -0
  308. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/importer.py +0 -0
  309. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/progress.py +0 -0
  310. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/replica.py +0 -0
  311. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/role.py +0 -0
  312. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/status.py +0 -0
  313. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/storage.py +0 -0
  314. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/models/task.py +0 -0
  315. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/protobuf/__init__.py +0 -0
  316. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
  317. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/pulp_hashlib.py +0 -0
  318. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/pulpcore_gunicorn_application.py +0 -0
  319. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/redis_connection.py +0 -0
  320. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/replica.py +0 -0
  321. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/response.py +0 -0
  322. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/role_util.py +0 -0
  323. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/__init__.py +0 -0
  324. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/access_policy.py +0 -0
  325. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/acs.py +0 -0
  326. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/content.py +0 -0
  327. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/exporter.py +0 -0
  328. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/fields.py +0 -0
  329. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/importer.py +0 -0
  330. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/orphans.py +0 -0
  331. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/progress.py +0 -0
  332. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/purge.py +0 -0
  333. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/reclaim.py +0 -0
  334. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/repair.py +0 -0
  335. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/replica.py +0 -0
  336. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/repository.py +0 -0
  337. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/status.py +0 -0
  338. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/task.py +0 -0
  339. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/serializers/user.py +0 -0
  340. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/settings.py +0 -0
  341. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/__init__.py +0 -0
  342. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/base.py +0 -0
  343. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/export.py +0 -0
  344. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/importer.py +0 -0
  345. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/orphan.py +0 -0
  346. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/purge.py +0 -0
  347. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/reclaim_space.py +0 -0
  348. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/replica.py +0 -0
  349. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/repository.py +0 -0
  350. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/test.py +0 -0
  351. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/tasks/upload.py +0 -0
  352. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/templates/rest_framework/api.html +0 -0
  353. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/templatetags/__init__.py +0 -0
  354. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/templatetags/pulp_urls.py +0 -0
  355. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/views/__init__.py +0 -0
  356. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/views/importer.py +0 -0
  357. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/views/orphans.py +0 -0
  358. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/views/repair.py +0 -0
  359. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/views/status.py +0 -0
  360. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/__init__.py +0 -0
  361. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/access_policy.py +0 -0
  362. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/acs.py +0 -0
  363. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/base.py +0 -0
  364. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/content.py +0 -0
  365. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/custom_filters.py +0 -0
  366. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/domain.py +0 -0
  367. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/exporter.py +0 -0
  368. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/importer.py +0 -0
  369. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/orphans.py +0 -0
  370. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/publication.py +0 -0
  371. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/reclaim.py +0 -0
  372. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/replica.py +0 -0
  373. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/repository.py +0 -0
  374. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/task.py +0 -0
  375. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/upload.py +0 -0
  376. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/viewsets/user.py +0 -0
  377. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/app/wsgi.py +0 -0
  378. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/backends.py +0 -0
  379. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/cache/__init__.py +0 -0
  380. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/cache/cache.py +0 -0
  381. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/content/authentication.py +0 -0
  382. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/content/entrypoint.py +0 -0
  383. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/content/instrumentation.py +0 -0
  384. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/download/__init__.py +0 -0
  385. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/download/file.py +0 -0
  386. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/exceptions/__init__.py +0 -0
  387. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/exceptions/base.py +0 -0
  388. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/exceptions/plugin.py +0 -0
  389. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/exceptions/validation.py +0 -0
  390. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/filters.py +0 -0
  391. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/middleware.py +0 -0
  392. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/migrations.py +0 -0
  393. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/openapi/hooks.py +0 -0
  394. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/__init__.py +0 -0
  395. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/access_policy.py +0 -0
  396. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/apps.py +0 -0
  397. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/authentication/__init__.py +0 -0
  398. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/cache/__init__.py +0 -0
  399. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/constants.py +0 -0
  400. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/content.py +0 -0
  401. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/download/__init__.py +0 -0
  402. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/exceptions.py +0 -0
  403. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/files.py +0 -0
  404. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/importexport.py +0 -0
  405. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/modelresources.py +0 -0
  406. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/models/__init__.py +0 -0
  407. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/models/role.py +0 -0
  408. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/publication_utils.py +0 -0
  409. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/pulp_hashlib.py +0 -0
  410. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/replica.py +0 -0
  411. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/responses.py +0 -0
  412. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/serializers/__init__.py +0 -0
  413. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/serializers/content.py +0 -0
  414. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/stages/__init__.py +0 -0
  415. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/stages/api.py +0 -0
  416. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/stages/artifact_stages.py +0 -0
  417. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/stages/content_stages.py +0 -0
  418. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/stages/declarative_version.py +0 -0
  419. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/stages/models.py +0 -0
  420. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/storage.py +0 -0
  421. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/tasking.py +0 -0
  422. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/util.py +0 -0
  423. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/viewsets/__init__.py +0 -0
  424. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/plugin/viewsets/content.py +0 -0
  425. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/responses.py +0 -0
  426. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tasking/__init__.py +0 -0
  427. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tasking/_util.py +0 -0
  428. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tasking/storage.py +0 -0
  429. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tasking/tasks.py +0 -0
  430. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tasking/worker.py +0 -0
  431. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/__init__.py +0 -0
  432. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/__init__.py +0 -0
  433. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
  434. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
  435. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_artifact_distribution.py +0 -0
  436. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_auth.py +0 -0
  437. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
  438. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
  439. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_crud_domains.py +0 -0
  440. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_openapi_schema.py +0 -0
  441. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_replication.py +0 -0
  442. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_repos.py +0 -0
  443. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_role.py +0 -0
  444. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
  445. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_scoping.py +0 -0
  446. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
  447. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_tasking.py +0 -0
  448. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/test_users_groups.py +0 -0
  449. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/__init__.py +0 -0
  450. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_content_access.py +0 -0
  451. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_content_cache.py +0 -0
  452. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_content_delivery.py +0 -0
  453. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_content_directory.py +0 -0
  454. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_content_path.py +0 -0
  455. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_content_promotion.py +0 -0
  456. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_contentguard.py +0 -0
  457. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_crud_repos.py +0 -0
  458. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_distributions.py +0 -0
  459. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_filesystemexport.py +0 -0
  460. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_labels.py +0 -0
  461. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_orphans.py +0 -0
  462. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_pagination.py +0 -0
  463. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_proxy.py +0 -0
  464. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_pulpimport.py +0 -0
  465. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_purge.py +0 -0
  466. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_reclaim_disk_space.py +0 -0
  467. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_repair.py +0 -0
  468. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_repo_versions.py +0 -0
  469. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_tasks.py +0 -0
  470. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/api/using_plugin/test_unlinking_repo.py +0 -0
  471. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/assets/__init__.py +0 -0
  472. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/content_with_coverage.py +0 -0
  473. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/functional/utils.py +0 -0
  474. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/performance/__init__.py +0 -0
  475. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/performance/test_performance.py +0 -0
  476. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/__init__.py +0 -0
  477. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/conftest.py +0 -0
  478. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/content/__init__.py +0 -0
  479. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/content/test_handler.py +0 -0
  480. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
  481. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/download/__init__.py +0 -0
  482. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/download/test_downloader_base.py +0 -0
  483. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/download/test_downloader_factory.py +0 -0
  484. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/migration/__init__.py +0 -0
  485. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/migration/test_0077_move_remote_url_credentials.py +0 -0
  486. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/models/__init__.py +0 -0
  487. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/models/test_base.py +0 -0
  488. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/models/test_content.py +0 -0
  489. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/models/test_repository.py +0 -0
  490. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/roles/__init__.py +0 -0
  491. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/serializers/__init__.py +0 -0
  492. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/serializers/test_base.py +0 -0
  493. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
  494. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/stages/__init__.py +0 -0
  495. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
  496. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_cache.py +0 -0
  497. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_chunked_file.py +0 -0
  498. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_content_guard.py +0 -0
  499. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_files.py +0 -0
  500. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_import_checks.py +0 -0
  501. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_pulp_urls.py +0 -0
  502. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_settings.py +0 -0
  503. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/test_viewsets.py +0 -0
  504. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
  505. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore/tests/unit/viewsets/test_viewset_base.py +0 -0
  506. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore.egg-info/SOURCES.txt +0 -0
  507. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore.egg-info/dependency_links.txt +0 -0
  508. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore.egg-info/entry_points.txt +0 -0
  509. {pulpcore-3.49.55 → pulpcore-3.49.57}/pulpcore.egg-info/top_level.txt +0 -0
  510. {pulpcore-3.49.55 → pulpcore-3.49.57}/setup.cfg +0 -0
  511. {pulpcore-3.49.55 → pulpcore-3.49.57}/test_requirements.txt +0 -0
  512. {pulpcore-3.49.55 → pulpcore-3.49.57}/unittest_requirements.txt +0 -0
@@ -8,6 +8,53 @@
8
8
 
9
9
  [//]: # (towncrier release notes start)
10
10
 
11
+ ## 3.49.57 (2026-03-24) {: #3.49.57 }
12
+
13
+ ### REST API {: #3.49.57-rest-api }
14
+
15
+ No significant changes.
16
+
17
+ ### Plugin API {: #3.49.57-plugin-api }
18
+
19
+ No significant changes.
20
+
21
+ ### Pulp File {: #3.49.57-pulp-file }
22
+
23
+ No significant changes.
24
+
25
+ ### Pulp Cert Guard {: #3.49.57-pulp-cert-guard }
26
+
27
+ No significant changes.
28
+
29
+ ---
30
+
31
+ ## 3.49.56 (2026-03-17) {: #3.49.56 }
32
+
33
+ ### REST API {: #3.49.56-rest-api }
34
+
35
+ #### Bugfixes {: #3.49.56-rest-api-bugfix }
36
+
37
+ - Fixed duplicate chunk uploads corrupting the entire upload
38
+ [#6381](https://github.com/pulp/pulpcore/issues/6381)
39
+ - Clean up on-demand temporary file left over on an aborted download.
40
+ [#6975](https://github.com/pulp/pulpcore/issues/6975)
41
+ - Fixed metadata artifacts being re-uploaded to storage when creating a publication for an already-published repository version.
42
+ [#7344](https://github.com/pulp/pulpcore/issues/7344)
43
+
44
+ ### Plugin API {: #3.49.56-plugin-api }
45
+
46
+ No significant changes.
47
+
48
+ ### Pulp File {: #3.49.56-pulp-file }
49
+
50
+ No significant changes.
51
+
52
+ ### Pulp Cert Guard {: #3.49.56-pulp-cert-guard }
53
+
54
+ No significant changes.
55
+
56
+ ---
57
+
11
58
  ## 3.49.55 (2026-03-10) {: #3.49.55 }
12
59
 
13
60
  ### REST API {: #3.49.55-rest-api }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.49.55
3
+ Version: 3.49.57
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Home-page: https://pulpproject.org
6
6
  Author: Pulp Team
@@ -44,7 +44,7 @@ Requires-Dist: jinja2<=3.1.6,>=3.1
44
44
  Requires-Dist: json_stream<2.4,>=2.3.2
45
45
  Requires-Dist: jq<1.7.0,>=1.6.0
46
46
  Requires-Dist: pycares<4.9; python_version < "3.12"
47
- Requires-Dist: PyOpenSSL<26.0
47
+ Requires-Dist: PyOpenSSL<27.0
48
48
  Requires-Dist: opentelemetry-distro[otlp]<=0.49b0,>=0.38b0
49
49
  Requires-Dist: opentelemetry-exporter-otlp-proto-http<1.29,>=1.17.0
50
50
  Requires-Dist: opentelemetry-instrumentation-django<=0.49b0,>=0.38b0
@@ -6,6 +6,6 @@ class PulpCertGuardPluginAppConfig(PulpPluginAppConfig):
6
6
 
7
7
  name = "pulp_certguard.app"
8
8
  label = "certguard"
9
- version = "3.49.55"
9
+ version = "3.49.57"
10
10
  python_package_name = "pulpcore"
11
11
  domain_compatible = True
@@ -26,7 +26,6 @@ from pulp_certguard.tests.functional.constants import (
26
26
  RHSM_V3_ZERO_VAR_BASE_PATH,
27
27
  )
28
28
 
29
-
30
29
  if settings.DOMAIN_ENABLED:
31
30
  pytest.skip("RHSM tests are currently not compatible with domains.", allow_module_level=True)
32
31
 
@@ -2,7 +2,6 @@
2
2
 
3
3
  import os
4
4
 
5
-
6
5
  _CURRENT_DIR = os.path.dirname(os.path.realpath(__file__))
7
6
 
8
7
 
@@ -8,6 +8,6 @@ class PulpFilePluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_file.app"
10
10
  label = "file"
11
- version = "3.49.55"
11
+ version = "3.49.57"
12
12
  python_package_name = "pulpcore"
13
13
  domain_compatible = True
@@ -15,7 +15,6 @@ from pulpcore.plugin.publication_utils import validate_publication_paths
15
15
  from pulpcore.plugin.repo_version_utils import remove_duplicates, validate_repo_version
16
16
  from pulpcore.plugin.util import get_domain_pk
17
17
 
18
-
19
18
  log = getLogger(__name__)
20
19
 
21
20
 
@@ -15,7 +15,6 @@ from pulpcore.plugin.models import (
15
15
  from pulp_file.app.models import FilePublication
16
16
  from pulp_file.manifest import Entry, Manifest
17
17
 
18
-
19
18
  log = logging.getLogger(__name__)
20
19
 
21
20
 
@@ -17,7 +17,6 @@ from pulpcore.plugin.stages import (
17
17
  from pulp_file.app.models import FileContent, FileRemote, FileRepository, FilePublication
18
18
  from pulp_file.manifest import Manifest
19
19
 
20
-
21
20
  log = logging.getLogger(__name__)
22
21
 
23
22
 
@@ -54,7 +53,7 @@ def synchronize(remote_pk, repository_pk, mirror, url=None):
54
53
  # accomodate this use case
55
54
  global metadata_files
56
55
  with FilePublication.create(rv, pass_through=True) as publication:
57
- (mdfile_path, relative_path) = metadata_files.pop()
56
+ mdfile_path, relative_path = metadata_files.pop()
58
57
  PublishedMetadata.create_from_file(
59
58
  file=File(open(mdfile_path, "rb")),
60
59
  relative_path=relative_path,
@@ -4,7 +4,6 @@ from gettext import gettext as _
4
4
 
5
5
  from re import fullmatch
6
6
 
7
-
8
7
  Line = namedtuple("Line", ("number", "content"))
9
8
 
10
9
 
@@ -8,7 +8,6 @@ from pulpcore.client.pulpcore import ApiException as CoreApiException
8
8
  from pulpcore.client.pulpcore import Repair
9
9
  from pulpcore.tests.functional.utils import generate_iso, download_file
10
10
 
11
-
12
11
  pytestmark = pytest.mark.skipif(not settings.DOMAIN_ENABLED, reason="Domains not enabled.")
13
12
 
14
13
 
@@ -13,7 +13,6 @@ from pulpcore.tests.functional.utils import get_files_in_manifest, download_file
13
13
 
14
14
  from pulpcore.client.pulp_file import FileFilePublication, RepositorySyncURL
15
15
 
16
-
17
16
  OBJECT_STORAGES = (
18
17
  "storages.backends.s3boto3.S3Boto3Storage",
19
18
  "storages.backends.azure_storage.AzureStorage",
@@ -5,7 +5,6 @@ from pulpcore.client.pulpcore.exceptions import ApiException
5
5
  from pulpcore.app import settings
6
6
  from pulpcore.constants import TASK_STATES
7
7
 
8
-
9
8
  pytestmark = [
10
9
  pytest.mark.skipif(settings.DOMAIN_ENABLED, reason="Domains do not support export."),
11
10
  pytest.mark.skipif(
@@ -7,7 +7,6 @@ from pulp_file.app.models import FileContent
7
7
 
8
8
  from pulpcore.plugin.models import Artifact
9
9
 
10
-
11
10
  V3_API_ROOT = (
12
11
  settings.V3_API_ROOT
13
12
  if not settings.DOMAIN_ENABLED
@@ -12,7 +12,6 @@ from django.utils.module_loading import module_has_submodule
12
12
 
13
13
  from pulpcore.exceptions.plugin import MissingPlugin
14
14
 
15
-
16
15
  VIEWSETS_MODULE_NAME = "viewsets"
17
16
  SERIALIZERS_MODULE_NAME = "serializers"
18
17
  URLS_MODULE_NAME = "urls"
@@ -244,7 +243,7 @@ class PulpAppConfig(PulpPluginAppConfig):
244
243
  label = "core"
245
244
 
246
245
  # The version of this app
247
- version = "3.49.55"
246
+ version = "3.49.57"
248
247
 
249
248
  # The python package name providing this app
250
249
  python_package_name = "pulpcore"
@@ -5,7 +5,6 @@ from rest_framework.serializers import ValidationError
5
5
 
6
6
  from pulpcore.app.models import Group, Repository
7
7
 
8
-
9
8
  # Model checks
10
9
 
11
10
 
@@ -9,7 +9,6 @@ from django.contrib.contenttypes.models import ContentType
9
9
 
10
10
  from pulpcore.app.util import get_url
11
11
 
12
-
13
12
  SEPARATOR = "\t"
14
13
 
15
14
 
@@ -25,8 +24,7 @@ def _get_url(content_type_id, object_pk):
25
24
 
26
25
  def _get_user_model_permissions():
27
26
  with connection.cursor() as cursor:
28
- cursor.execute(
29
- """
27
+ cursor.execute("""
30
28
  SELECT
31
29
  auth_user.id,
32
30
  array_agg(auth_permission.id),
@@ -38,8 +36,7 @@ def _get_user_model_permissions():
38
36
  LEFT JOIN django_content_type ON (content_type_id=django_content_type.id)
39
37
  GROUP BY auth_user.id
40
38
  ORDER BY username
41
- """
42
- )
39
+ """)
43
40
  while row := cursor.fetchone():
44
41
  (
45
42
  user_id,
@@ -52,8 +49,7 @@ def _get_user_model_permissions():
52
49
 
53
50
  def _get_group_model_permissions():
54
51
  with connection.cursor() as cursor:
55
- cursor.execute(
56
- """
52
+ cursor.execute("""
57
53
  SELECT
58
54
  auth_group.id,
59
55
  array_agg(auth_permission.id),
@@ -65,8 +61,7 @@ def _get_group_model_permissions():
65
61
  LEFT JOIN django_content_type ON (content_type_id=django_content_type.id)
66
62
  GROUP BY auth_group.id
67
63
  ORDER BY auth_group.name
68
- """
69
- )
64
+ """)
70
65
  while row := cursor.fetchone():
71
66
  (
72
67
  group_id,
@@ -80,8 +75,7 @@ def _get_group_model_permissions():
80
75
 
81
76
  def _get_user_object_permissions():
82
77
  with connection.cursor() as cursor:
83
- cursor.execute(
84
- """
78
+ cursor.execute("""
85
79
  SELECT
86
80
  auth_user.id,
87
81
  django_content_type.id,
@@ -97,8 +91,7 @@ def _get_user_object_permissions():
97
91
  LEFT JOIN auth_permission ON (permission_id=auth_permission.id)
98
92
  GROUP BY auth_user.id, django_content_type.id, object_pk
99
93
  ORDER BY username, django_content_type.id, object_pk
100
- """
101
- )
94
+ """)
102
95
  while row := cursor.fetchone():
103
96
  (
104
97
  user_id,
@@ -119,8 +112,7 @@ def _get_user_object_permissions():
119
112
 
120
113
  def _get_group_object_permissions():
121
114
  with connection.cursor() as cursor:
122
- cursor.execute(
123
- """
115
+ cursor.execute("""
124
116
  SELECT
125
117
  auth_group.id,
126
118
  django_content_type.id,
@@ -136,8 +128,7 @@ def _get_group_object_permissions():
136
128
  LEFT JOIN auth_permission ON (permission_id=auth_permission.id)
137
129
  GROUP BY auth_group.id, django_content_type.id, object_pk
138
130
  ORDER BY auth_group.name, django_content_type.id, object_pk
139
- """
140
- )
131
+ """)
141
132
  while row := cursor.fetchone():
142
133
  (
143
134
  group_id,
@@ -19,16 +19,14 @@ class SchemaValidationError(CommandError):
19
19
 
20
20
 
21
21
  class Command(BaseCommand):
22
- help = dedent(
23
- """
22
+ help = dedent("""
24
23
  Generate OpenAPI3 schema for the Pulp API.
25
24
 
26
25
  The type of schema generated can be modified by providing some options.
27
26
  --component <str> comma separated list of app_labels
28
27
  --bindings flag, to produce operation ids used for bindings generation
29
28
  --pk-path flag, whether paths are presented with PK or href variable
30
- """
31
- )
29
+ """)
32
30
 
33
31
  requires_system_checks = []
34
32
 
@@ -12,7 +12,6 @@ from pulpcore.app.models.repository import Repository
12
12
  from pulpcore.constants import ALL_KNOWN_CONTENT_CHECKSUMS
13
13
  from pulpcore.plugin.importexport import QueryModelResource
14
14
 
15
-
16
15
  log = getLogger(__name__)
17
16
 
18
17
 
@@ -16,7 +16,7 @@ from aiohttp.web_exceptions import HTTPNotFound
16
16
 
17
17
  from django.conf import settings
18
18
  from django.contrib.postgres.fields import HStoreField
19
- from django.db import IntegrityError, models, transaction
19
+ from django.db import DatabaseError, IntegrityError, models, transaction
20
20
  from django.utils import timezone
21
21
  from django_lifecycle import hook, AFTER_UPDATE, BEFORE_DELETE
22
22
 
@@ -31,7 +31,6 @@ from pulpcore.app.models import AutoAddObjPermsMixin
31
31
  from pulpcore.responses import ArtifactResponse
32
32
  from pulpcore.app.util import get_domain_pk, cache_key, get_url
33
33
 
34
-
35
34
  _logger = logging.getLogger(__name__)
36
35
 
37
36
 
@@ -294,12 +293,24 @@ class PublishedMetadata(Content):
294
293
  """
295
294
  domain = publication.pulp_domain
296
295
  with transaction.atomic():
297
- artifact = Artifact.init_and_validate(file=PulpTemporaryUploadedFile.from_file(file))
296
+ temp_file = PulpTemporaryUploadedFile.from_file(file)
297
+ artifact = Artifact.init_and_validate(file=temp_file)
298
+ # if artifact already exists, let's use it
298
299
  try:
299
- with transaction.atomic():
300
- artifact.save()
301
- except IntegrityError:
302
300
  artifact = Artifact.objects.get(sha256=artifact.sha256, pulp_domain=domain)
301
+ if not domain.get_storage().exists(artifact.file.name):
302
+ # artifact.save will do the "recreate file in file storage"
303
+ # only if file is set and *dirty*, so we need to reset it here
304
+ artifact.file = temp_file
305
+ raise Artifact.DoesNotExist
306
+ artifact.touch()
307
+ except (Artifact.DoesNotExist, DatabaseError):
308
+ try:
309
+ with transaction.atomic():
310
+ artifact.save()
311
+ except IntegrityError:
312
+ artifact = Artifact.objects.get(sha256=artifact.sha256, pulp_domain=domain)
313
+ artifact.touch()
303
314
  if not relative_path:
304
315
  relative_path = file.name
305
316
  content = cls(relative_path=relative_path, publication=publication)
@@ -38,7 +38,6 @@ from .content import Artifact, Content, ContentArtifact, RemoteArtifact
38
38
  from .fields import EncryptedTextField
39
39
  from .task import CreatedResource, Task
40
40
 
41
-
42
41
  _logger = logging.getLogger(__name__)
43
42
 
44
43
 
@@ -43,6 +43,7 @@ class Upload(BaseModel):
43
43
  if sha256 != current_sha256:
44
44
  raise serializers.ValidationError(_("Checksum does not match chunk upload."))
45
45
 
46
+ UploadChunk.objects.filter(upload=self, offset=offset).delete()
46
47
  upload_chunk = UploadChunk(upload=self, offset=offset, size=len(chunk))
47
48
  filename = os.path.basename(upload_chunk.storage_path(""))
48
49
  upload_chunk.file.save(filename, ContentFile(chunk))
@@ -37,7 +37,6 @@ from pulpcore.app.util import (
37
37
  get_domain,
38
38
  )
39
39
 
40
-
41
40
  log = getLogger(__name__)
42
41
 
43
42
 
@@ -12,7 +12,6 @@ from rest_framework.validators import UniqueValidator
12
12
  from pulpcore.app import models
13
13
  from pulpcore.app.serializers import IdentityField, ModelSerializer, HiddenFieldsMixin
14
14
 
15
-
16
15
  BACKEND_CHOICES = (
17
16
  ("pulpcore.app.models.storage.FileSystem", "Use local filesystem as storage"),
18
17
  # ("pulpcore.app.models.storage.PulpSFTPStorage", "Use SFTP server as storage"),
@@ -200,10 +200,8 @@ class DistributionSerializer(ModelSerializer):
200
200
  pulp_labels = serializers.HStoreField(required=False, validators=[pulp_labels_validator])
201
201
 
202
202
  base_path = serializers.CharField(
203
- help_text=_(
204
- 'The base (relative) path component of the published url. Avoid paths that \
205
- overlap with other distribution base paths (e.g. "foo" and "foo/bar")'
206
- ),
203
+ help_text=_('The base (relative) path component of the published url. Avoid paths that \
204
+ overlap with other distribution base paths (e.g. "foo" and "foo/bar")'),
207
205
  validators=[DomainUniqueValidator(queryset=models.Distribution.objects.all())],
208
206
  )
209
207
  base_url = BaseURLField(
@@ -6,7 +6,6 @@ from rest_framework import serializers
6
6
  from pulpcore.app import models
7
7
  from pulpcore.app.serializers import base, ValidateFieldsMixin
8
8
 
9
-
10
9
  CONTENT_RANGE_PATTERN = r"^bytes (\d+)-(\d+)/(\d+|[*])$"
11
10
 
12
11
 
@@ -23,7 +23,6 @@ from pulpcore.app.models.status import ContentAppStatus
23
23
  from pulpcore.app.models.task import Worker
24
24
  from pulpcore.app.protobuf.analytics_pb2 import Analytics
25
25
 
26
-
27
26
  logger = logging.getLogger(__name__)
28
27
 
29
28
 
@@ -20,7 +20,6 @@ from pulpcore.app.viewsets import (
20
20
  ReclaimSpaceViewSet,
21
21
  )
22
22
 
23
-
24
23
  if settings.DOMAIN_ENABLED:
25
24
  API_ROOT = settings.V3_DOMAIN_API_ROOT_NO_FRONT_SLASH
26
25
  else:
@@ -24,7 +24,6 @@ from pulpcore.app.apps import pulp_plugin_configs
24
24
  from pulpcore.app import models
25
25
  from pulpcore.exceptions.validation import InvalidSignatureError
26
26
 
27
-
28
27
  # a little cache so viewset_for_model doesn't have to iterate over every app every time
29
28
  _model_viewset_cache = {}
30
29
 
@@ -2,7 +2,6 @@ from gettext import gettext as _
2
2
  from pathlib import Path
3
3
  from types import SimpleNamespace
4
4
 
5
-
6
5
  VAR_TMP_PULP = Path("/var/tmp/pulp")
7
6
 
8
7
  # Special purpose advisory locks for use with the two number variant.
@@ -12,7 +12,6 @@ from .instrumentation import middleware as instrumentation
12
12
 
13
13
  import django
14
14
 
15
-
16
15
  os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pulpcore.app.settings")
17
16
  django.setup()
18
17
 
@@ -28,7 +27,6 @@ from pulpcore.app.models import ContentAppStatus # noqa: E402: module level not
28
27
  from .handler import Handler # noqa: E402: module level not at top of file
29
28
  from .authentication import authenticate # noqa: E402: module level not at top of file
30
29
 
31
-
32
30
  log = logging.getLogger(__name__)
33
31
 
34
32
  app = web.Application(middlewares=[authenticate, instrumentation])
@@ -1116,8 +1116,10 @@ class Handler:
1116
1116
  await original_handle_data(data)
1117
1117
 
1118
1118
  async def finalize():
1119
+ nonlocal failed_download
1119
1120
  if save_artifact and remote.policy != Remote.STREAMED:
1120
1121
  await original_finalize()
1122
+ failed_download = False
1121
1123
 
1122
1124
  downloader = remote.get_downloader(
1123
1125
  remote_artifact=remote_artifact,
@@ -1127,6 +1129,7 @@ class Handler:
1127
1129
  downloader.handle_data = handle_data
1128
1130
  original_finalize = downloader.finalize
1129
1131
  downloader.finalize = finalize
1132
+ failed_download = True
1130
1133
  try:
1131
1134
  download_result = await downloader.run(
1132
1135
  extra_data={"disable_retry_list": (DigestValidationError,)}
@@ -1138,7 +1141,6 @@ class Handler:
1138
1141
  pulp_last_updated=timezone.now()
1139
1142
  + timedelta(settings.REMOTE_CONTENT_FETCH_FAILURE_COOLDOWN)
1140
1143
  )
1141
- await downloader.session.close()
1142
1144
  close_tcp_connection(request.transport._sock)
1143
1145
  REMOTE_CONTENT_FETCH_FAILURE_COOLDOWN = settings.REMOTE_CONTENT_FETCH_FAILURE_COOLDOWN
1144
1146
  raise RuntimeError(
@@ -1153,6 +1155,13 @@ class Handler:
1153
1155
  "affected Pulp Remote, adding a good one and resyncing.\n"
1154
1156
  "If the problem persists, please contact the Pulp team."
1155
1157
  )
1158
+ finally:
1159
+ if failed_download:
1160
+ if downloader.path:
1161
+ await sync_to_async(os.unlink)(downloader.path)
1162
+
1163
+ if hasattr(downloader, "session"):
1164
+ await downloader.session.close()
1156
1165
 
1157
1166
  if save_artifact and remote.policy != Remote.STREAMED:
1158
1167
  await asyncio.shield(
@@ -18,7 +18,6 @@ from pulpcore.exceptions import (
18
18
  UnsupportedDigestValidationError,
19
19
  )
20
20
 
21
-
22
21
  log = logging.getLogger(__name__)
23
22
 
24
23
 
@@ -16,7 +16,6 @@ from pulpcore.app.apps import PulpAppConfig
16
16
  from .http import HttpDownloader
17
17
  from .file import FileDownloader
18
18
 
19
-
20
19
  PROTOCOL_MAP = {
21
20
  "http": HttpDownloader,
22
21
  "https": HttpDownloader,
@@ -11,7 +11,6 @@ from pulpcore.exceptions import (
11
11
  TimeoutException,
12
12
  )
13
13
 
14
-
15
14
  log = logging.getLogger(__name__)
16
15
 
17
16
 
@@ -32,7 +32,6 @@ from rest_framework.schemas.utils import get_pk_description
32
32
  from pulpcore.app.apps import pulp_plugin_configs
33
33
  from pulpcore.app.loggers import deprecation_logger
34
34
 
35
-
36
35
  if settings.DOMAIN_ENABLED:
37
36
  API_ROOT_NO_FRONT_SLASH = settings.V3_DOMAIN_API_ROOT_NO_FRONT_SLASH.replace("slug:", "")
38
37
  else:
@@ -10,7 +10,6 @@ from pulpcore.app.serializers import (
10
10
  )
11
11
  from pulpcore.tasking.tasks import dispatch
12
12
 
13
-
14
13
  __all__ = ["ModifyRepositoryActionMixin"]
15
14
 
16
15
 
@@ -1,4 +1,3 @@
1
1
  from pulpcore.migrations import RequireVersion
2
2
 
3
-
4
3
  __all__ = ["RequireVersion"]
@@ -7,7 +7,6 @@ from pulpcore.app.files import validate_file_paths
7
7
  from pulpcore.app.models import Content, ContentArtifact
8
8
  from pulpcore.app.util import batch_qs
9
9
 
10
-
11
10
  _logger = logging.getLogger(__name__)
12
11
 
13
12
  __all__ = ["remove_duplicates"]
@@ -1,6 +1,5 @@
1
1
  from asgiref.sync import sync_to_async
2
2
 
3
-
4
3
  # This is useful for querysets which don't have async support yet. Django querysets issue a db call
5
4
  # when the iterator for them is requested, so we need that to be wrapped in `sync_to_async` also.
6
5
  iter_async = sync_to_async(iter)
@@ -10,7 +10,6 @@ django.setup()
10
10
 
11
11
  from pulpcore.tasking.worker import PulpcoreWorker # noqa: E402: module level not at top
12
12
 
13
-
14
13
  _logger = logging.getLogger(__name__)
15
14
 
16
15
 
@@ -40,7 +40,6 @@ from .gpg_ascii_armor_signing_service import (
40
40
  signing_script_temp_dir,
41
41
  )
42
42
 
43
-
44
43
  try:
45
44
  import pulp_smash
46
45
  except ImportError:
@@ -4,7 +4,6 @@ import uuid
4
4
 
5
5
  from pulpcore.client.pulpcore.exceptions import ApiException, ApiTypeError
6
6
 
7
-
8
7
  # Warning: Do not use HEX digits here!
9
8
  NAMES = (
10
9
  "GGGG",
@@ -5,7 +5,6 @@ import pytest
5
5
  from jsonschema import validate
6
6
  from pulpcore.client.pulpcore import ApiException
7
7
 
8
-
9
8
  STATUS = {
10
9
  "$schema": "http://json-schema.org/schema#",
11
10
  "title": "Pulp 3 status API schema",