-
Notifications
You must be signed in to change notification settings - Fork 46
RPM repository content remove reports success but does not remove package from repository version #1349
Description
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