pulp / pulp/pulpcore

Pulp replication job fails with ACS

Open
#6,587 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue
Dominant language
Python
Stars
598
Forks
168
Avg merge
1d 4h
Merged PRs (30d)
86

Description

Version

{
                "rpm": "3.29.0",
                "core": "3.74.1",
                "file": "3.74.1",
                "certguard": "3.74.1"
}

Describe the bug
Pulp replication fails when it tries to delete the remote object which is used by the ACS.

To Reproduce

  • Create a remote object for near by alternate secondary pulp server in the replica server.
  • Create the ACS object to download the packages from the alternate secondary pulp server.
  • Execute a pulp replication task in the replica server to sync from the primary pulp server.

Expected behavior
During the pulp replication task not to destroy the remote objects which are bind with the ACS objects.

Additional context

       {
            "pulp_href": "/pulp/api/v3/task-groups/0196c943-750a-7a8f-994c-19fd71bf19ac/",
            "prn": "prn:core.taskgroup:0196c943-750a-7a8f-994c-19fd71bf19ac",
            "description": "Replication of master",
            "all_tasks_dispatched": true,
            "waiting": 0,
            "skipped": 0,
            "running": 0,
            "completed": 1,
            "canceled": 0,
            "failed": 2,
            "canceling": 0,
            "group_progress_reports": [],
            "tasks": [
                {
                    "pulp_href": "/pulp/api/v3/tasks/0196c943-89fe-717c-993e-593bfd309aa2/",
                    "prn": "prn:core.task:0196c943-89fe-717c-993e-593bfd309aa2",
                    "pulp_created": "2025-05-13T10:49:28.830681Z",
                    "pulp_last_updated": "2025-05-13T10:49:28.830696Z",
                    "name": "pulp_rpm.app.tasks.synchronizing.synchronize",
                    "state": "completed",
                    "unblocked_at": "2025-05-13T10:49:28.847952Z",
                    "started_at": "2025-05-13T10:49:29.704367Z",
                    "finished_at": "2025-05-13T10:49:30.692910Z",
                    "worker": "/pulp/api/v3/workers/01962362-17ce-793a-a328-a3db5f600926/"
                },
                {
                    "pulp_href": "/pulp/api/v3/tasks/0196c943-b3eb-7ed6-abd9-edbd2bddfebe/",
                    "prn": "prn:core.task:0196c943-b3eb-7ed6-abd9-edbd2bddfebe",
                    "pulp_created": "2025-05-13T10:49:39.564016Z",
                    "pulp_last_updated": "2025-05-13T10:49:39.564034Z",
                    "name": "pulpcore.app.tasks.replica.finalize_replication",
                    "state": "failed",
                    "unblocked_at": "2025-05-13T10:49:53.841022Z",
                    "started_at": "2025-05-13T10:49:53.902413Z",
                    "finished_at": "2025-05-13T10:49:53.913700Z",
                    "worker": "/pulp/api/v3/workers/01964735-e482-7cc0-97ef-ab4fb46f0995/"
                },
                {
                    "pulp_href": "/pulp/api/v3/tasks/0196c943-a953-7328-a7ef-a4ccaad89f87/",
                    "prn": "prn:core.task:0196c943-a953-7328-a7ef-a4ccaad89f87",
                    "pulp_created": "2025-05-13T10:49:36.851794Z",
                    "pulp_last_updated": "2025-05-13T10:49:36.851812Z",
                    "name": "pulpcore.app.tasks.base.general_multi_delete",
                    "state": "failed",
                    "unblocked_at": "2025-05-13T10:49:36.868081Z",
                    "started_at": "2025-05-13T10:49:36.943696Z",
                    "finished_at": "2025-05-13T10:49:53.766859Z",
                    "worker": "/pulp/api/v3/workers/01964735-ea14-73d0-aa62-0ab33c1acf7c/"
                }
            ]
        }

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing pulpcore.app.tasks.replica.finalize_replication and pulpcore.app.tasks.base.general_multi_delete, using the reported replication task sequence as the entry point. Inspect how remote objects associated with ACS objects are selected for deletion. Done means replication completes without deleting remotes bound to ACS objects and the reported reproduction no longer fails.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.