Problem with a repo

Problem: Repository impossible to remove and update

Expected outcome: Repository usable or removed

Foreman and Proxy versions: 3.17.1

Distribution and version: RedHat 9.7

Hi,

I have a problem with a Ubuntu repository. I can’t sync it, and I can’t remove it.

When I try to remove it :
RESTEASY003210: Could not find resource for full path: https://localhost:23443/candlepin/owners/XXX/products/405487290502/content/ à org.jboss.resteasy.core.registry.SegmentNode.match:154

When I try to do a complete sync :
Error message: the server returns an error
HTTP status code: 404
Response headers: {“date”=>“Thu, 26 Mar 2026 16:24:28 GMT”, “server”=>“gunicorn”, “content-type”=>“application/json”, “vary”=>“Accept,Cookie”, “allow”=>“GET, PUT, PATCH, DELETE, HEAD, OPTIONS”, “x-frame-options”=>“DENY”, “content-length”=>“50”, “x-content-type-options”=>“nosniff”, “referrer-policy”=>“same-origin”, “cross-origin-opener-policy”=>“same-origin”, “correlation-id”=>“69b04775-0dc2-460e-9b4b-b5d44473b221”, “access-control-expose-headers”=>“Correlation-ID”, “via”=>“1.1 XXXXXXXX.fr”}
Response body: {“detail”:“No AptRemote matches the given query.”}undefined method `repository_href’ for nil:NilClassThe repository’s publication is missing. Please run a ‘complete sync’ on 24-noble-updates.

Can you help me ?

This sounds like the repository was partially deleted or else objects were deleted from Pulp without Katellos knowledge and now there are no clean workflows.

Some things you could try:

  • Try updating the “Download Policy” to a different value for the affected repository, in the hope that this might re-create the missing APT remote.
  • Try re-publishing repository metadata to see if that shakes anything loose.

Then try deleting the repository again.

If any of these actions fail, try to look for failed tasks and check the “Dynflow Console” of those failed tasks for debugging information. Usually the most detailed errors and debugging info can be found in the Dynflow Console of a failed task.

At worst we get some more information about what state the repo is in. At best maybe we can get to a place where it can be deleted in a clean way.

When I try to change the download policy:

Danger alert:Error

An error occurred saving the Repository: undefined method `label’ for nil:NilClass

And when I republish metadata:

Error message: the server returns an error
HTTP status code: 400
Response headers: {"date"=>"Fri, 27 Mar 2026 10:24:25 GMT", "server"=>"gunicorn", "content-type"=>"application/json", "vary"=>"Accept,Cookie", "allow"=>"GET, POST, HEAD, OPTIONS", "x-frame-options"=>"DENY", "content-length"=>"93", "x-content-type-options"=>"nosniff", "referrer-policy"=>"same-origin", "cross-origin-opener-policy"=>"same-origin", "correlation-id"=>"7076f882-85e8-40fa-9b48-6fca6742ecda", "access-control-expose-headers"=>"Correlation-ID", "via"=>"1.1 XXXXXX.fr", "connection"=>"close"}
Response body: {"non_field_errors":["Either the 'repository' or 'repository_version' need to be specified"]}

The origin of the problem was when I decided to change the way I defined the repos. At first, I had grouped “noble noble-updates noble-security” in the same repo definition. But finally I decide to split this in 3 different repos.

I’m trying to play with the Dynflow Console, and it seems to work when I skip the delete/destroy tasks. The repo is gone.
I will try to recreate a new one, to see if it works fine.

All of this sounds like the repo was already completely deleted in the Pulp backend, but still present in Katello. Skipping the failing actions in dynflow should mean everything that was still left over has now been deleted, so you should be fine.

Unfortunately it is not that simple…

Everytime I try to add a new repo, I get an error message like this one:

Danger alert:Error

Task 8497b1e5-7355-4221-b089-7376a424ab31: PulpDebClient::ApiError: Error message: the server returns an error HTTP status code: 500 Response headers: {“date”=>“Fri, 27 Mar 2026 13:08:33 GMT”, “server”=>“gunicorn”, “content-type”=>“text/html; charset=utf-8”, “x-frame-options”=>“DENY”, “content-length”=>“145”, “vary”=>“Cookie”, “x-content-type-options”=>“nosniff”, “referrer-policy”=>“same-origin”, “cross-origin-opener-policy”=>“same-origin”, “correlation-id”=>“0946d9c1-725f-4680-b71e-f3dd7d209419”, “access-control-expose-headers”=>“Correlation-ID”, “via”=>“1.1 XXXXX.fr”, “connection”=>“close”} Response body: Server Error (500)

Server Error (500)

It stay on the repo creation page. The record for the name of the repo is in red with the error message “Name already in use”. But it’s not. I tries many different names and the answer is already the same.
And even if it stay on this page, the new repositories are added to the list of repositories availables for this product.

And of course, if I try to sync anyone of these repo, it fails.

Finally I asked for a restore of the VM. I think I will keep the repo as it is this time.