I was able to reproduce this issue using the following settings:
Upstream URL: https://dl.cloudsmith.io/public/isc/kea-2-6/deb/ubuntu
Releases/Distributions: noble
Architectures: amd64
Download Policy: On Demand
From the Pulp task I get the following trace back:
error:
traceback: |2
File "/usr/lib/python3.11/site-packages/pulpcore/tasking/tasks.py", line 68, in _execute_task
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pulp_deb/app/tasks/synchronizing.py", line 219, in synchronize
DebDeclarativeVersion(first_stage, repository, mirror=mirror).create()
File "/usr/lib/python3.11/site-packages/pulpcore/plugin/stages/declarative_version.py", line 163, in create
loop.run_until_complete(pipeline)
File "/usr/lib64/python3.11/asyncio/base_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pulpcore/plugin/stages/api.py", line 220, in create_pipeline
await asyncio.gather(*futures)
File "/usr/lib/python3.11/site-packages/pulpcore/plugin/stages/api.py", line 41, in __call__
await self.run()
File "/usr/lib/python3.11/site-packages/pulp_deb/app/tasks/synchronizing.py", line 605, in run
await asyncio.gather(
File "/usr/lib/python3.11/site-packages/pulp_deb/app/tasks/synchronizing.py", line 750, in _handle_distribution
await asyncio.gather(*sub_tasks)
File "/usr/lib/python3.11/site-packages/pulp_deb/app/tasks/synchronizing.py", line 844, in _handle_component
await asyncio.gather(*pending_tasks)
File "/usr/lib/python3.11/site-packages/pulp_deb/app/tasks/synchronizing.py", line 1019, in _handle_package_index
serializer.is_valid(raise_exception=True)
File "/usr/lib/python3.11/site-packages/rest_framework/serializers.py", line 231, in is_valid
raise ValidationError(self.errors)
description: "{'description': [ErrorDetail(string='This field is required.', code='required')]}"
From the error message and also the line of code it fails on, it looks like the Package822Serializer chokes on a package that does not have a description, which is a required field in pulp_deb. I have not yet checked what the Debian policy manual has to say about this, but the fact that we have never encountered this error before suggests that this is at a minimum extremely rare in the wild. I have also not yet figured out if it is just individual packages or all packages from the repo that are affected.
@gekko_swiss Could you open a pulp_deb issue with the above information for now?