Uploaded image for project: 'Satellite'
  1. Satellite
  2. SAT-20322

Pulp repair task can fail immediately with 404 not found error

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 6.11.5
    • Pulp
    • 0
    • False
    • Moderate
    • None
    • None
    • None
    • None

      Description of problem:
      The repair task will fail immediately with 404 Not Found error if a content has been deleted in the upstream repository,
      ---------------------------------
      "error": {
      "traceback": " File "/usr/lib/python3.8/site-packages/pulpcore/tasking/pulpcore_worker.py", line 380, in _perform_task
      result = func(*args, **kwargs)
      File "/usr/lib/python3.8/site-packages/pulpcore/app/tasks/repository.py", line 194, in repair_all_artifacts
      loop.run_until_complete(_repair_artifacts_for_content(verify_checksums=verify_checksums))
      File "/usr/lib64/python3.8/asyncio/base_events.py", line 616, in run_until_complete
      return future.result()
      File "/usr/lib/python3.8/site-packages/pulpcore/app/tasks/repository.py", line 150, in _repair_artifacts_for_content
      await asyncio.gather(*done) # Clean up tasks
      File "/usr/lib/python3.8/site-packages/pulpcore/app/tasks/repository.py", line 78, in _repair_ca
      dl_result = await downloader.run()
      File "/usr/lib/python3.8/site-packages/pulpcore/download/http.py", line 273, in run
      return await download_wrapper()
      File "/usr/lib/python3.8/site-packages/backoff/_async.py", line 133, in retry
      ret = await target(*args, **kwargs)
      File "/usr/lib/python3.8/site-packages/pulpcore/download/http.py", line 258, in download_wrapper
      return await self._run(extra_data=extra_data)
      File "/usr/lib/python3.8/site-packages/pulp_rpm/app/downloaders.py", line 117, in _run
      self.raise_for_status(response)
      File "/usr/lib/python3.8/site-packages/pulp_rpm/app/downloaders.py", line 102, in raise_for_status
      response.raise_for_status()
      File "/usr/lib64/python3.8/site-packages/aiohttp/client_reqrep.py", line 1004, in raise_for_status
      raise ClientResponseError(
      ",
      "description": "404, message='Not Found', url=URL('https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/Packages/c/chromium-common-114.0.5735.106-1.el9.x86_64.rpm')"
      ---------------------------------

      It will be good and convenient if the repair task can tolerate the 404 not found error and continue to download other missing contents. Otherwise, user will have to repair each repository one by one.

              jira-bugzilla-migration RH Bugzilla Integration
              jira-bugzilla-migration RH Bugzilla Integration
              RH Bugzilla Integration RH Bugzilla Integration
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: