ISO sync error on pulp

I get an error when I try to sync an ISO repository on pulp3. Can anyone help?
task: <Task pending name=‘Task-29’ coro=<Event.wait() done, defined at /usr/lib64/python3.8/asyncio/locks.py:296> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f35a8aa4610>()]>>
pulp [6310bd5f8ed84027823abfab5a6c9991]: pulpcore.tasking.pulpcore_worker:INFO: Task 29a01a43-1ed1-4268-a99b-13295a2f3fc9 failed (Error: Parsing of the manifest file failed on line:1.
Please make sure the remote URL is pointing to a valid manifest file.
The manifest file should be composed of lines in the following format: <relative_path>,,.)

I generated the PULP_MANIFEST with the tool they give, i looks like this: SLE-11-SP4-SDK-DVD-x86_64-GM-DVD1.iso,4dc2a09679f1c6e4a809e8e765a753834a5c58faff605045cc6a75b818c64f40,3020075008
SLES-11-SP4-DVD-x86_64-GM-DVD1.iso,4fbf22201876d571c719328f385d87d6d690fb3ceb5e093108cdf0373c43e855,3384803328
SLE-11-SP4-SDK-DVD-x86_64-GM-DVD2.iso,b5eb74912979da2ad80d79ced9fb8206237364d9e086380357301916e2cfb4e2,7810050048
SLES-11-SP4-DVD-x86_64-GM-DVD2.iso,6414d10ff5be1985c607422840ec7c187068d0a13f68dd59c951607df4145ea4,5542653952

And the file is correctly placed:
(http://my_url/SLES11SP4/iso/PULP_MANIFEST) 07-Jul-2023 10:06 450 (http://my_url/SLES11SP4/iso/SLE-11-SP4-SDK-DVD-x86_64-GM-DVD1.iso) 21-Jan-2016 10:52 (http://my_url/SLES11SP4/iso/SLE-11-SP4-SDK-DVD-x86_64-GM-DVD2.iso) 21-Jan-2016 11:07 (http://my_url/SLES11SP4/iso/SLES-11-SP4-DVD-x86_64-GM-DVD1.iso) 21-Jan-2016 10:21 (http://my_url/SLES11SP4/iso/SLES-11-SP4-DVD-x86_64-GM-DVD2.iso) 21-Jan-2016 10:42 5.2G

When i print the first line of the pulp manifest i get:
line is: !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 3.2 Final//EN”

The pulp manifest must only consist of valid lines as described above. Are you sure, your server serves the manifest corrrectly? Is that “first line” maybe part of a 404 message?

I found a solution. Pulp wasn’t building the URL correctly and couldn’t find the manifest. I had to modify the base_code in order to join the URL with MANIFEST_PULP/.

In the official documentation, they say that Pulp will do it automatically, but in my version, it wasn’t working.

“The importer will append a trailing slash to the --feed setting if it doesn’t already have one, and then will perform a URL join with the feed and the name PULP_MANIFEST to determine where it should look for the manifest. Please ensure that a PULP_MANIFEST is available at the URL you give to the --feed setting here.”

Hmm. Not sure I understand the solution. base_code and --feed are no pulp terms I have heard of. All I know is that you need to point the pulp_file remote to the manifest file (a single url, no composing of anything done by pulp).
But glad you could find a solution for your abstraction.