pulp-ansible 0.28.3__py3-none-any.whl → 0.29.1__py3-none-any.whl

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.
@@ -8,6 +8,6 @@ class PulpAnsiblePluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_ansible.app"
10
10
  label = "ansible"
11
- version = "0.28.3"
11
+ version = "0.29.1"
12
12
  python_package_name = "pulp-ansible"
13
13
  domain_compatible = True
@@ -16,11 +16,11 @@ def add_sha256_to_current_models(apps, schema_editor):
16
16
 
17
17
  for collection_version in (
18
18
  CollectionVersion.objects.prefetch_related(
19
- "content_artifacts", "content_artifacts__artifact"
19
+ "contentartifact_set", "contentartifact_set__artifact"
20
20
  )
21
21
  .filter(sha256="")
22
22
  .only("pk", "sha256")
23
- .iterator()
23
+ .iterator(chunk_size=2000)
24
24
  ):
25
25
  content_artifact = collection_version.contentartifact_set.get()
26
26
  if content_artifact.artifact:
@@ -665,22 +665,6 @@ class CollectionVersionSerializer(ContentChecksumSerializer, CollectionVersionUp
665
665
 
666
666
  creating = True
667
667
 
668
- def __init__(self, *args, **kwargs):
669
- super().__init__(*args, **kwargs)
670
- try:
671
- request = self.context["request"]
672
- if request.method != "GET":
673
- return
674
- except (AttributeError, TypeError, KeyError):
675
- # The serializer was not initialized with request context.
676
- return
677
- query_params = request.query_params
678
- if self.include_arg_name in query_params or self.exclude_arg_name in query_params:
679
- return
680
- for fieldname in ["files", "manifest", "docs_blob", "contents"]:
681
- # Redact these fields by default as they have no size limit.
682
- self.fields.pop(fieldname)
683
-
684
668
  def validate(self, data):
685
669
  """Run super() validate if creating, else return data."""
686
670
  # This validation is for creating CollectionVersions
@@ -77,6 +77,13 @@ from pulp_ansible.app.tasks.utils import (
77
77
  parse_metadata,
78
78
  )
79
79
 
80
+
81
+ try:
82
+ from pulpcore.plugin.serializers import RepositoryVersionSerializer
83
+ except ImportError:
84
+ RepositoryVersionSerializer = None
85
+
86
+
80
87
  log = logging.getLogger(__name__)
81
88
 
82
89
  aget_url = sync_to_async(get_url)
@@ -215,26 +222,25 @@ def sync(remote_pk, repository_pk, mirror, optimize):
215
222
  remote = CollectionRemote.objects.get(pk=remote_pk)
216
223
  repository = AnsibleRepository.objects.get(pk=repository_pk)
217
224
 
218
- is_repo_remote = False
219
- if repository.remote:
220
- is_repo_remote = remote.pk == repository.remote.pk
225
+ is_repo_remote = repository.remote is not None and remote.pk == repository.remote.pk
221
226
 
222
227
  if not remote.url:
223
228
  raise ValueError(_("A CollectionRemote must have a 'url' specified to synchronize."))
224
229
 
225
230
  first_stage = CollectionSyncFirstStage(remote, repository, is_repo_remote, optimize)
226
- if first_stage.should_sync is False:
231
+ if first_stage.should_sync:
232
+ d_version = AnsibleDeclarativeVersion(first_stage, repository, mirror=mirror)
233
+ repository_version = d_version.create()
234
+
235
+ if repository_version is not None:
236
+ repository.last_synced_metadata_time = first_stage.last_synced_metadata_time
237
+ repository.save(update_fields=["last_synced_metadata_time"])
238
+ if RepositoryVersionSerializer is not None:
239
+ return RepositoryVersionSerializer(
240
+ instance=repository_version, context={"request": None}
241
+ ).data
242
+ else:
227
243
  log.debug(_("no-op: remote wasn't updated since last sync."))
228
- return
229
-
230
- d_version = AnsibleDeclarativeVersion(first_stage, repository, mirror=mirror)
231
- repo_version = d_version.create()
232
-
233
- if not repo_version:
234
- return
235
-
236
- repository.last_synced_metadata_time = first_stage.last_synced_metadata_time
237
- repository.save(update_fields=["last_synced_metadata_time"])
238
244
 
239
245
 
240
246
  def import_collection(
@@ -18,6 +18,12 @@ from pulp_ansible.app.tasks.collections import (
18
18
  AnsibleContentSaver,
19
19
  )
20
20
 
21
+ try:
22
+ from pulpcore.plugin.serializers import RepositoryVersionSerializer
23
+ except ImportError:
24
+ RepositoryVersionSerializer = None
25
+
26
+
21
27
  log = logging.getLogger(__name__)
22
28
 
23
29
 
@@ -47,7 +53,11 @@ def synchronize(remote_pk, repository_pk, mirror=False):
47
53
  )
48
54
  first_stage = GitFirstStage(remote)
49
55
  d_version = GitDeclarativeVersion(first_stage, repository, mirror=mirror)
50
- return d_version.create()
56
+ repository_version = d_version.create()
57
+ if RepositoryVersionSerializer is not None and repository_version:
58
+ return RepositoryVersionSerializer(
59
+ instance=repository_version, context={"request": None}
60
+ ).data
51
61
 
52
62
 
53
63
  class GitDeclarativeVersion(DeclarativeVersion):
@@ -16,6 +16,11 @@ from pulp_ansible.app.constants import PAGE_SIZE
16
16
  from pulp_ansible.app.models import AnsibleRepository, RoleRemote, Role
17
17
  from pulp_ansible.app.tasks.utils import get_api_version, get_page_url, parse_metadata
18
18
 
19
+ try:
20
+ from pulpcore.plugin.serializers import RepositoryVersionSerializer
21
+ except ImportError:
22
+ RepositoryVersionSerializer = None
23
+
19
24
 
20
25
  log = logging.getLogger(__name__)
21
26
 
@@ -50,7 +55,11 @@ def synchronize(remote_pk, repository_pk, mirror=False):
50
55
  )
51
56
  first_stage = RoleFirstStage(remote)
52
57
  d_version = DeclarativeVersion(first_stage, repository, mirror=mirror)
53
- return d_version.create()
58
+ repository_version = d_version.create()
59
+ if RepositoryVersionSerializer is not None and repository_version:
60
+ return RepositoryVersionSerializer(
61
+ instance=repository_version, context={"request": None}
62
+ ).data
54
63
 
55
64
 
56
65
  class RoleFirstStage(Stage):
@@ -18,7 +18,6 @@ from pulp_ansible.tests.functional.constants import ANSIBLE_FIXTURE_URL
18
18
 
19
19
 
20
20
  pytestmark = [
21
- pytest.mark.skipif(settings.DOMAIN_ENABLED, reason="Domains do not support export."),
22
21
  pytest.mark.skipif(
23
22
  "/tmp" not in settings.ALLOWED_EXPORT_PATHS,
24
23
  reason="Cannot run export-tests unless /tmp is in ALLOWED_EXPORT_PATHS "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulp-ansible
3
- Version: 0.28.3
3
+ Version: 0.29.1
4
4
  Summary: Pulp plugin to manage Ansible content, e.g. roles
5
5
  Author-email: Pulp Ansible Plugin Project Developers <pulp-dev@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -20,8 +20,8 @@ License-File: LICENSE
20
20
  Requires-Dist: galaxy_importer<0.5,>=0.4.27
21
21
  Requires-Dist: GitPython<3.2,>=3.1.24
22
22
  Requires-Dist: jsonschema<4.26,>=4.9
23
- Requires-Dist: Pillow<11.4,>=10.3
24
- Requires-Dist: pulpcore<3.100,>=3.63.0
23
+ Requires-Dist: Pillow<12.2,>=10.3
24
+ Requires-Dist: pulpcore<3.115,>=3.63.0
25
25
  Requires-Dist: PyYAML<7.0,>=6.0.2
26
26
  Requires-Dist: semantic_version<2.11,>=2.9
27
27
  Dynamic: license-file
@@ -1,6 +1,6 @@
1
1
  pulp_ansible/__init__.py,sha256=WXL3JyOZzh4tALN4OBNgqj412O2LXVr8iYSn14Av0_o,67
2
2
  pulp_ansible/pytest_plugin.py,sha256=hi9crI7QGghXCItNx27pW6KoXMzZqhAqAUstpJrsmlA,9105
3
- pulp_ansible/app/__init__.py,sha256=jYEeRCAWn3Dqzmuv8IfFm_r3Zvr2UiYeE7qBEymSow8,308
3
+ pulp_ansible/app/__init__.py,sha256=DlQqEittrF2Jo8PViJ6N1-Le8POHexS_JGvJDWp96ok,308
4
4
  pulp_ansible/app/constants.py,sha256=cRrWMbJU-v1nCY2CjmGTOFGzz5aggn4ZKIs4-zeYADQ,78
5
5
  pulp_ansible/app/downloaders.py,sha256=0xrAXzhTMJ6ywvs6XyYNAKvRzYb_UZR6A5_WgaHvuiE,8331
6
6
  pulp_ansible/app/fields.py,sha256=yV3FL-47K-nxbiBxgzWi1hk3tfLsRdgic59LiwT2Fvs,624
@@ -8,7 +8,7 @@ pulp_ansible/app/global_access_conditions.py,sha256=ayV_LbQIa4ReuDYQycdDY7WysfGk
8
8
  pulp_ansible/app/logutils.py,sha256=My4XivZMYLKeJqPHFwk3pIZSGlspALhI93vZxwWzlSY,846
9
9
  pulp_ansible/app/modelresource.py,sha256=fJ_njrSWdftFQpA54e6mdoIWG_zqBjpp2TkkyU8Y7D4,7181
10
10
  pulp_ansible/app/models.py,sha256=CrEcVxQUlb6V_d9l7_as7_Gi6TrBuJ_xJLhFCR_5jew,22709
11
- pulp_ansible/app/serializers.py,sha256=28lwMvLa3D-i4cekaIx50ffHUU78OfoDBlwdcTSTWyI,36670
11
+ pulp_ansible/app/serializers.py,sha256=5_NM1tpMLrZ2QsNCWanaHhscGCS_QDLubXCTh5xwm8E,35981
12
12
  pulp_ansible/app/settings.py,sha256=ArDsI7VezOpKM9iFqxXb6VmEDOtRUS5lfB_oklkcxds,1244
13
13
  pulp_ansible/app/urls.py,sha256=gpMqsYPgHfc_6-EySR9ezUnI1F5yklzOVlSz9nlppmY,8697
14
14
  pulp_ansible/app/utils.py,sha256=ClI_WvVy73kOZQB2mS8Gftf80Vye7pOxrbodTmPQgmk,1686
@@ -84,7 +84,7 @@ pulp_ansible/app/migrations/0053_collectiondownloadcount.py,sha256=XK3FJf2P9XX7i
84
84
  pulp_ansible/app/migrations/0054_split_collection_version_numbers.py,sha256=QdJkJ48A_ZcgD2WyyRrAdPMmQe8OWkEgs4FtMFa-rDg,2369
85
85
  pulp_ansible/app/migrations/0055_alter_collectionversion_version_alter_role_version.py,sha256=g_4p81Owqi6sY0-KAv_mSPya1MNlj8pbJkMpHZ4hLpc,904
86
86
  pulp_ansible/app/migrations/0056_collectionversion_sha256.py,sha256=6gLDAEcULJag1_L3jpbmrA42EeP5wsWhlq0VALK_Lpg,487
87
- pulp_ansible/app/migrations/0057_collectionversion_sha256_migrate.py,sha256=VnFl99Wywslr53VKwfd6RNBB5HEBaUCsqX0awEVOkMU,2395
87
+ pulp_ansible/app/migrations/0057_collectionversion_sha256_migrate.py,sha256=MoMVQ2wnSmJqu826yqCKf3VGXmJCCiAXbUluWO8wMAY,2414
88
88
  pulp_ansible/app/migrations/0058_fix_0056_regression.py,sha256=VTmiG_VlpC6wXb4R28TDC4rbd1KLTuPItgzcrq0R28w,1021
89
89
  pulp_ansible/app/migrations/0059_collectionversion_unique_sha256.py,sha256=_4MAElCkv5OUjv7v9eL43h9PhtLl85vOfMiTZKEGD-Q,1291
90
90
  pulp_ansible/app/migrations/0060_remove_collectionversion_unique_is_highest_and_more.py,sha256=GDaBq6YPznAxjObBmP3YRHsdUtUjTAHpnShpkICe9J8,586
@@ -97,13 +97,13 @@ pulp_ansible/app/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
97
97
  pulp_ansible/app/schema/__init__.py,sha256=eGi2QVJ0kJgXwiDNjQsvqWDSr3EA8TFqFZATTY8xwT8,207
98
98
  pulp_ansible/app/schema/copy_config.json,sha256=AJz8riON7_rh-L7jM5iev2Imc5UKjlNvGfwF7KrFH7Y,568
99
99
  pulp_ansible/app/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
- pulp_ansible/app/tasks/collections.py,sha256=J8cC9zLJYRvYEkl6n4sAePLKrvoDrS9s4aibNxSTxEA,50709
100
+ pulp_ansible/app/tasks/collections.py,sha256=NrYz79x_woRJOXzpEnNj8xPngLNkPykUIO9RMbbVKxQ,51048
101
101
  pulp_ansible/app/tasks/collectionversion_index.py,sha256=_cnQeWRpFXrreTJM9aaEc2HuknTksZa0lLZ7XUfmQ_c,9401
102
102
  pulp_ansible/app/tasks/copy.py,sha256=dO_DnLT5hck6GpZomEHurrDHJM0Wkh2B0_wgHHOtbuY,5563
103
103
  pulp_ansible/app/tasks/deletion.py,sha256=f-VNTMzDMQiJpCLN34fY5gwhAGlh3RACj4VWc_tOaP0,3579
104
- pulp_ansible/app/tasks/git.py,sha256=J-AO8avMf0Jx0xDf3_eVzDYao2Wop3JnfbW7my7TtHo,2991
104
+ pulp_ansible/app/tasks/git.py,sha256=GjkEWH-SnBHHTWOhZjRVIMDG8KhrGBJ1E41ba74Ngpo,3340
105
105
  pulp_ansible/app/tasks/mark.py,sha256=yO1a_jPAC-Um5ZsTr0J6HGR1lBm0XcGV5SOu2iEsvJw,2292
106
- pulp_ansible/app/tasks/roles.py,sha256=xi7S8IXmUf77YEJ_lLHWw4GVbJvaDK589cBeXeumQy0,5506
106
+ pulp_ansible/app/tasks/roles.py,sha256=ohieaXY4DRyw5mzYyem8s42P53fgc165uz5g3SUiY90,5854
107
107
  pulp_ansible/app/tasks/signature.py,sha256=JxMNcOS24Mug8RL1eNlObsZZi4plDJDwac32aSobzhk,7497
108
108
  pulp_ansible/app/tasks/test_tasks.py,sha256=GkUH7MwwsT-rTtEbvv7UjQyvT7ZrWehb2sO1xgUqGVc,6978
109
109
  pulp_ansible/app/tasks/upload.py,sha256=X6lnQoKVlyOlb_hDMkOBc4oqxVqLeTtA-Q0mxrfxC9A,2972
@@ -117,7 +117,7 @@ pulp_ansible/tests/functional/constants.py,sha256=FFcqEvmHWruxdogf4uCFG2EjukLbzT
117
117
  pulp_ansible/tests/functional/utils.py,sha256=R-AtOclbV7WVmq4XhPdmWi7mgy3wmw_DK76uOCP_0KI,945
118
118
  pulp_ansible/tests/functional/api/__init__.py,sha256=Ta9oLgSwgsaC_7uiGBrJqduMwckzRv-W_Rfcl9UOZNY,65
119
119
  pulp_ansible/tests/functional/api/test_domain.py,sha256=a6MfKkk-9u77iViGX9F-lgkogyy56jAvZlygbYRknUM,2368
120
- pulp_ansible/tests/functional/api/test_export_import.py,sha256=sEK-ps6-SbSktvYt2slWW4NU9PsOCFpjmABv6Yp7KM8,8062
120
+ pulp_ansible/tests/functional/api/test_export_import.py,sha256=kow9_CxMEpVgAetb69gFhgQlYgWO6PzJhwJdvloXjIs,7972
121
121
  pulp_ansible/tests/functional/api/test_rbac.py,sha256=amzg4CK_JXhKe_cK5KBNQRdnNGNT7AG1_PPj9cC83cg,19362
122
122
  pulp_ansible/tests/functional/api/collection/__init__.py,sha256=pSlDs09OjDZCGKAf_SttWeyiCUXT-Fady4ywZ9sppQo,74
123
123
  pulp_ansible/tests/functional/api/collection/test_copy_and_move.py,sha256=Oih3fMcLIh9ZRspO-Wz3BQ0GhomRXRhzVv-8bqchj20,10094
@@ -167,9 +167,9 @@ pulp_ansible/tests/unit/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
167
167
  pulp_ansible/tests/unit/migrations/conftest.py,sha256=61n56aJuwEuAcUS27xnmnEDx6Ie7M5zxh851doWm7Ok,438
168
168
  pulp_ansible/tests/unit/migrations/test_0057_collection_version_sha256_migrate.py,sha256=NmU-frZNO1qHvhdxfw-bwPTEkqN4Wdc3dEs9dWME47o,2174
169
169
  pulp_ansible/tests/unit/migrations/test_x_repo_search_migration.py,sha256=IrC_V_Gss4nqhkdL-60upcEzGcz8IsiI2d-MfUtFY-g,657
170
- pulp_ansible-0.28.3.dist-info/licenses/LICENSE,sha256=2ylvL381vKOhdO-w6zkrOxe9lLNBhRQpo9_0EbHC_HM,18046
171
- pulp_ansible-0.28.3.dist-info/METADATA,sha256=f9OeQy6QCFytDpjGNCtblU1h9-wsj1C0EAjJEmrJNOU,3125
172
- pulp_ansible-0.28.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
173
- pulp_ansible-0.28.3.dist-info/entry_points.txt,sha256=6PFqCdT7Yn7U5MlioYRsyyWbJDcZI2aAJuzc7yXHqGk,119
174
- pulp_ansible-0.28.3.dist-info/top_level.txt,sha256=5Rrg5DSM_F9wH8vu8Fxjb5EmroC-I8RVKp05fhXH6kQ,13
175
- pulp_ansible-0.28.3.dist-info/RECORD,,
170
+ pulp_ansible-0.29.1.dist-info/licenses/LICENSE,sha256=2ylvL381vKOhdO-w6zkrOxe9lLNBhRQpo9_0EbHC_HM,18046
171
+ pulp_ansible-0.29.1.dist-info/METADATA,sha256=z6rjQU_vE0Cjz_gqaP0w4llWBymaPHJWqONEe7Nx1nE,3125
172
+ pulp_ansible-0.29.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
173
+ pulp_ansible-0.29.1.dist-info/entry_points.txt,sha256=6PFqCdT7Yn7U5MlioYRsyyWbJDcZI2aAJuzc7yXHqGk,119
174
+ pulp_ansible-0.29.1.dist-info/top_level.txt,sha256=5Rrg5DSM_F9wH8vu8Fxjb5EmroC-I8RVKp05fhXH6kQ,13
175
+ pulp_ansible-0.29.1.dist-info/RECORD,,