Failed to sync ansible collections

Problem:
Calculated digest does not equal passed in digest
Expected outcome:

Pulpcore version:
3.45.1
Pulp plugins installed and their versions:
“deb”: “3.1.1”,
“rpm”: “3.25.0”,
“core”: “3.45.1”,
“file”: “3.45.1”,
“maven”: “0.8.0”,
“ostree”: “2.2.1”,
“python”: “3.11.0”,
“ansible”: “0.21.1”,
“certguard”: “3.45.1”,
“container”: “2.18.0”
Operating system - distribution and version:
Rhel 8.6

Other relevant data:

Is this also caused by a failure of wrong digest in one collection which similar to error to sync a role repo Create a single remote for Galaxy roles - #9 by bli111?

To reproduce:
pulp ansible remote -t “collection” create --name “collections” --url “https://galaxy.ansible.com/
pulp ansible repository create --name collections --remote “collection:collections”
pulp ansible distribution create --name “collections” --base-path “collections” --repository “collections”
pulp ansible repository sync --name collections
Started background task /pulp/api/v3/tasks/018e7141-1f51-70c1-aefd-d5edd5844887/
…Error: Task /pulp/api/v3/tasks/018e7141-1f51-70c1-aefd-d5edd5844887/ failed: ‘Calculated digest does not equal passed in digest’

Pulp-worker logs:
Mar 24 12:52:47 pulpd-rr-176 pulp-worker[85305]: pulp [290299956a164bb5ae761b89ee0524fa]: pulp_ansible.app.tasks.utils:INFO: Reading meta/runtime.yml from art>
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: loop.run_until_complete(pipeline)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/lib64/python3.8/asyncio/base_events.py”, line 616, in run_until_complete
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: return future.result()
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/api.py”, line 220, in create_pipeline
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: await asyncio.gather(*futures)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/api.py”, line 41, in call
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: await self.run()
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/content_stages.py”, line 198, in run
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: await sync_to_async(process_batch)()
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/asgiref/sync.py”, line 479, in call
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: ret: _R = await loop.run_in_executor(
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/lib64/python3.8/concurrent/futures/thread.py”, line 57, in run
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: result = self.fn(*self.args, **self.kwargs)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/asgiref/sync.py”, line 538, in thread_handler
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: return func(*args, **kwargs)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/content_stages.py”, line 124, in proces>
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: raise e
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/content_stages.py”, line 117, in proces>
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: d_content.content.save()
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/lib64/python3.8/contextlib.py”, line 75, in inner
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: return func(*args, **kwds)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/django_lifecycle/mixins.py”, line 191, in save
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: self._run_hooked_methods(BEFORE_SAVE, **kwargs)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/django_lifecycle/mixins.py”, line 312, in _run_hooked_methods
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: method.run(self)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/django_lifecycle/mixins.py”, line 46, in run
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: self.method(instance)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/django_lifecycle/decorators.py”, line 119, in func
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: hooked_method(*args, **kwargs)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: File “/usr/local/lib/python3.8/site-packages/pulp_ansible/app/models.py”, line 364, in calculate_metadata_s>
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]: raise IntegrityError(“Calculated digest does not equal passed in digest”)
Mar 24 12:53:50 pulpd-rr-176 pulp-worker[85305]:
Mar 24 12:54:42 pulpd-rr-176 pulp-worker[85305]: pulp [None]: pulpcore.tasking.worker:INFO: Worker ‘1@915a4fc358ab’ is back online.

This sync error should have been fixed in pulp_ansible 0.21.3: Changelog — Pulp ansible Support 0.22.0.dev documentation. The latest 3.45 Pulp image should have this updated version.

Thanks Gerrod. Upgrade the both pulp-ansible and pulpcore
pulp-ansible 0.21.3
pulpcore 3.46.0

No I am getting a different error.

Error: Task /pulp/api/v3/tasks /018e774c-b9bb-761d-9885-a998c1ea2a35/ failed: ‘‘NoneType’ object is not iterable’

pulp [1150050731de4a8da67b5323b06d02f8]: pulpcore.tasking.tasks:INFO: Task 018e774c-b9bb-761d-9885-a998c1ea2a35 failed (‘NoneType’ object is not iterable)
pulp [1150050731de4a8da67b5323b06d02f8]: pulpcore.tasking.tasks:INFO: File “/usr/local/lib/python3.8/site-packages/pulpcore/tasking/tasks.py”, line 60, in _execute_task
result = func(*args, **kwargs)

File “/usr/local/lib/python3.8/site-packages/pulp_ansible/app/tasks/collections.py”, line 192, in sync
repo_version = d_version.create()

File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/declarative_version.py”, line 161, in create
loop.run_until_complete(pipeline)

File “/usr/lib64/python3.8/asyncio/base_events.py”, line 616, in run_until_complete
return future.result()

File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/api.py”, line 220, in create_pipeline
await asyncio.gather(*futures)

File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/api.py”, line 41, in call
await self.run()

File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/content_stages.py”, line 198, in run
await sync_to_async(process_batch)()

File “/usr/local/lib/python3.8/site-packages/asgiref/sync.py”, line 479, in call
ret: _R = await loop.run_in_executor(

File “/usr/lib64/python3.8/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)

File “/usr/local/lib/python3.8/site-packages/asgiref/sync.py”, line 538, in thread_handler
return func(*args, **kwargs)

File “/usr/local/lib/python3.8/site-packages/pulpcore/plugin/stages/content_stages.py”, line 126, in process_batch
for d_artifact in d_content.d_artifacts:

pulp [None]: pulpcore.tasking.worker:INFO: Worker ‘1@771599b04849’ is back online.