Katello 3.16.1-1.el7 subscription-manager doesn't create rhsm repos for ubuntu

root@syd01ddev06:~# subscription-manager repos
±---------------------------------------------------------+
Available Repositories in /etc/yum.repos.d/redhat.repo
±---------------------------------------------------------+
Repo ID: Default_Organization_ub18_repos_bionic
Repo Name: bionic
Repo URL: https://bss01.orch.vocus.net/pulp/deb/Default_Organization/stable/ub1
8_content/custom/ub18_repos/bionic
Enabled: 1

So, you say it works from katello till host which is managed by sub-man? And exactly this, didn’t work before when setting the architecture?

yes once I removed architecture from the repo config in foreman subscription-manager refresh then subscription-manager repos on the client updated rhsm.sources on the client fo the only repo I changed - the others in the content which had their architecture set did not populate .rhsm.sources on the client

argh. I’m very sorry. We worked on a feature which is “half-in”. The change affected candlepin, katello and sub-man but the sub-man change is not merged right now. Therefore it doesn’t work completely and we full into this issue.

I guess, it will work when reverting:

We (= I) will work on this soon - hopefully tomorrow.

The overall feature idea was, to only make repos available on the client side, which are supported. Like, if the repo supports i386 and arm64 but the client only supports arm64, it should only provide arm64 repositories.

My bad - I’m sorry.

2 Likes

At least this confirms it is not my config. Thanks for all your work on the deb parts of foreman/katello - If you need any testing let me know. I also appreciate the security errata changes that are in the pipeline. It will really be a game changer for us.

4 Likes

@stephenc I need some help with pulp3 docker , I see you have some docker repo , can you please help me in it ?

Foreman 2.2 and katello 3.16 docker pull

Have a look at the PR https://github.com/Katello/katello/pull/9010 @stephenc - it should fix the issue that there is no debian repo available in sub-man if a architecture is set.

I tried that a couple of days ago but it does not work. tried this morning again with your patch and still not working - I think the issue is still in the changes to candlepin.

Yes I did.
When I removed the architeture, the sync of the repos failed.

 "    with open(self.path, 'rb') as fh:\n" +
 "IOError: [Errno 2] No such file or directory: u'/var/cache/pulp/reserved_resource_worker-1@foreman-z01.infra.zgt.local/7c72b214-c019-43c2-be74-9c07e2f2fd60/dists/bionic/main/binary-arm64/Packages.xz'\n",
"spawned_tasks"=>[],
"progress_report"=>

It tries to look for arm64.

Indeed, when removing the architecture I’m able to see the repos :slight_smile:
But as mentioned above and by stephenc, the sync does not work anymore

root@ubuntu-t03:~# subscription-manager repos --list
1 local certificate has been deleted.
±---------------------------------------------------------+
Available Repositories in /etc/yum.repos.d/redhat.repo
±---------------------------------------------------------+
Repo ID: ICT-ZGT_Ubuntu_Ubuntu_18_04_Security_amd64
Repo Name: Ubuntu 18.04 Security amd64
Repo URL: https://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Se
curity_amd64
Enabled: 1

Repo ID: ICT-ZGT_Ubuntu_Ubuntu_18_04_Updates_amd64
Repo Name: Ubuntu 18.04 Updates amd64
Repo URL: https://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Up
dates_amd64
Enabled: 1

Repo ID: ICT-ZGT_Ubuntu_Ubuntu_18_04_amd64
Repo Name: Ubuntu 18.04 amd64
Repo URL: https://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_am
d64
Enabled: 1

I manually applied the fix mentioned. And for me that seems to work fine, although now I see 2 of the 3 repos :expressionless:
I have to check this out.

THat is fixed now.

Other issue. Now I see the repositories with subscription-manager. but when performing a apt-get update it ends with

Reading package lists… Done
E: Failed to fetch katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Security_amd64/dists/default/all/binary-amd64/Packages 404 Not Found
E: Failed to fetch katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_amd64/dists/default/all/binary-amd64/Packages 404 Not Found
E: Failed to fetch katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Updates_amd64/dists/default/all/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.

you mean with https://github.com/Katello/katello/pull/9010 is working? and before applying this fix sub-man wasn’t able to show the repo?

Bernard, that is correct.

1 Like

Maybe it doesn’t work for you @stephenc because the entry is already set in the database. Maybe change it like this:

I have to extend this log trail.

I seems like it can find the Packages from all, but not from amd64!

Ign:10 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Security_amd64 default/all all Packages
Err:11 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Security_amd64 default/all amd64 Packages
404 Not Found
Ign:12 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Security_amd64 default/all Translation-en
Err:16 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_amd64 default/all amd64 Packages
404 Not Found
Ign:17 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_amd64 default/all all Packages
Err:22 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Updates_amd64 default/all amd64 Packages
404 Not Found
Ign:23 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_18_04_Updates_amd64 default/all all Packages
Ign:28 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_Subscription-manager default/all all Packages
Err:29 katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_Subscription-manager default/all amd64 Packages
404 Not Found

I did as you suggested
After 8567 and setting architecture to empty it created the repos as before
reverting using 9010, putting the arch back and restarting.
the repos that existed were not deleted this time. The 2 servers that I was testing were OK.
I then registered a new server and it failed to pull any repo so I would suggest the patch is not working as envisioned.

If you marked Publish via HTTP for the Repository in Katello, you can open the URL in your Browser by swapping out katello:// with http:// AND appending a / (the latter is important for pulp to work correctly).
E.g. http://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_Subscription-manager/

This way you can see more closer, if there is something wrong with the repository provided by pulp.
The 404 suggests that e.g. the Release file(s) are not there.
The latter can be fixed by Regenerate Metadata for the respective Content-View Versions.

1 Like

Oke, what I see is this:
http://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_Subscription-manager/dists/stable/

and it expected
katello://foreman-z01.infra.zgt.local/pulp/deb/ICT-ZGT/acceptatie/CV_Ubuntu-18/custom/Ubuntu/Ubuntu_Subscription-manager/dists/default

for the ubuntu repos the same. It has: dists/bionic, but it expects: dists/default

Or is default a generic variable?

Jurgen

Yes, the problem is that the default-suite is missing in your repository.
The reason you need it is that subscription-manager always uses default, this avoids having to transfer the original suite’s name down to the host.

Have you tried regenerating the Metadata for the ContentView Versions?