Skip to content

RPM repository content remove reports success but does not remove package from repository version #1349

@cawwot

Description

@cawwot

We are seeing a no-op behavior when removing a specific RPM package from an RPM repository via repository content remove.

Environment

pulpcore: 3.95.3
pulp_rpm: 3.34.0
pulp-cli: 0.38.2
domain_enabled: false

Steps to reproduce

  • Confirm package exists in latest repository version.
    • pulp rpm content list --name "$NAME" --version "$VERSION" --release-startswith "$RELEASE_PREFIX" --arch "$ARCH" --limit 200
  • Remove the package by href.
    • pulp rpm repository content remove --repository "$REPO" --package-href "$PKG_HREF"
  • Inspect the task.
    • pulp rpm repository show --name "$REPO" | jq '.[].latest_version_href'
    • pulp rpm content list --repository-version "$LATEST" --name "$NAME" --version "$VERSION" --release-startswith "$RELEASE_PREFIX" --arch "$ARCH"

Observed task result:

{
  "pulp_href": "/pulp/api/v3/tasks/019d53bf-ae82-7242-9858-29ee5928bf0c/",
  "prn": "prn:core.task:019d53bf-ae82-7242-9858-29ee5928bf0c",
  "pulp_created": "2026-04-03T14:29:24.230248Z",
  "pulp_last_updated": "2026-04-03T14:29:24.227070Z",
  "state": "completed",
  "name": "pulp_rpm.app.tasks.signing.signed_add_and_remove",
  "logging_cid": "7242ef612f1048d890e900f977e848b4",
  "created_by": "/pulp/api/v3/users/1/",
  "unblocked_at": "2026-04-03T14:29:24.270975Z",
  "started_at": "2026-04-03T14:29:24.346122Z",
  "finished_at": "2026-04-03T14:29:24.732589Z",
  "error": null,
  "worker": null,
  "parent_task": null,
  "child_tasks": [],
  "task_group": null,
  "progress_reports": [],
  "created_resources": [],
  "reserved_resources_record": [
    "prn:rpm.rpmrepository:019b954e-7c5e-7b3f-855e-16efb118dfbe",
    "shared:prn:core.domain:9a21d133-6224-4152-b340-f888a852c10c"
  ],
  "result": null
}

Check latest repository version and package membership again, e.g.

LATEST_AFTER=$(pulp rpm repository show --name "$REPO" | jq '.[].latest_version_href')
echo "$LATEST_AFTER"

pulp rpm content list --repository-version "$LATEST_AFTER" --sha256 "$SHA" --limit 5

Actual result

  • latest_version_href does not change (still version 242)
  • package is still present in the latest version
  • remove task reports success but performs no effective change

Expected result

If the package is present in the target/base repository version, remove should create a new repository version with that package removed, created_resources should include the new repository version href

Additional observations

Task implementation used is signed_add_and_remove even though package_signing_service is not set on this repository.

Impact

We cannot remove known-bad legacy package builds from an in-use repository without disruptive repository replacement workflows (e.g. copy just good packages to a new repo)

Requested help

Is this behavior intended for any RPM repository state/configuration?
If not intended, is this a known bug?
Is there a supported non-disruptive workaround to remove specific package hrefs in-place from an existing repository lineage?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    Triage-NeededNeeds to be reviewed at next pulp-cli mtgbugSomething isn't working (template-set)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions