Running Katello on Fedora ppc64le. Is it possible?

Hi All,

I have an environemnt where I need to do server activation and patch managment, moving through Dev -> pre-prod -> Prod content views. My obvious thought was Foreman, however I found there is a dependency on some packages for x86. I built Foreman from git using Ruby and was able to get it to run and work fine. I even managed to just about get Katello installed albeit none of the functionality seemed to work as functions seemed to be missing.

So my question is a simple one, do you think I would be able to deploy Katello on ppc64le with any success? Or am I best going down the route of deploying my own candlepin & pulp solution?

Any advice is much appreciated!!

We don’t actually know if this is possible because you are far more ahead than us. There were few requests on PowerPC builds on this forum, but that’s all. We all build and test Foreman on Intel 64bits only.

Our builder has only access to intel build nodes at the moment, I am not sure if cross-compilation is possible in koji. This is a question on @packaging team how feasible would be to enable you to start working on this, but I think PPC hardware would be required. Theoretically, it is possible to rebuild packages for this platform one by one, most of them are noarch anyway.

If you want to give it a try, you can try submitting our SRPMs into Fedora Copr rebuilding packages there because PPC64LE is available there. I think we would accept patches enabling ppc64le building: https://copr.fedorainfracloud.org/

Long term, we are thinking about moving from Koji to Fedora Copr, but last time we checked there were still some issues mainly about slow response time.

Thanks for the quick reponse. Ok sounds like a plan. I’m struggling to find source rpms for Katello. Are you able to steer me in the right direction?

1 Like

All our packages are here:

Note the branch name, different for RPMs and DEBs.

You can try to rebuild all SRPMs from scratch, you can give COPR list of these packages: Index of /releases/1.19/el7/source but I think this will fail because of dependencies. You may need to go one by one.

Please send PRs on github and if you are serious about this, share with us where you plan to track the progress. Thanks!

I have tried putting through copr with mixed results. I have however managed to get Foreman running with Katello via git and ruby. However it then obviously complains about not being able to talk to candlepin.I have attempted to install candlepin from noarch rpm which works fine. I used
candlepin-2.4.4-1.el7.noarch.rpm

Howerver when I run /usr/share/candlepin/cpsetup I end up getting a 2048 error. From reading around candlepin this could be related to the java version?!? (1.8.0_181-b13), however I note that on my working x86_64 server that candlepin seems to merrily work with the same version.

Perhaps I am missing something obvious so any help appreciated. My hope is that if I can get candlepin and pulp working I can tie it all together.

This is technically possible since Mock 1.4.11 adds support for --force-arch to do foreign architecture builds when DNF 2.6.2+ is being used, provided that qemu-user-static is set up and configured. This is possible for builders running on Fedora, and when the target distribution is openSUSE Leap 15.0, Fedora 26+, or RHEL/CentOS 7.6 (with the YUM 4 tech preview stuff enabled).

Koji probably needs some enhancements to trigger the feature, though.

I have got Foreman and Katello running fine now via git and doing a bundle install. However the stumbling block I am hitting now is getting it to talke to candelping. I have messed around with candlepin.conf to no avail, I keep coming across

There was an issue with the backend service candlepin: SSL_connect returned=1 errno=0 state=error: certificate verify failed

when trying to create an organisation. I can’t seem to find documentation around how one can get katello to talk to candlepin, due to the fact that by default puppet sets all this up.

Our installation is puppetized, I suggest to install reference system on Intel and then compare configuration files. Use the same hostname so you can copy configs.

Ok that is sort of what I’ve tried to do reverse engineering it. Are you able to give me a steer on the full list of config files I should be looking at?

It would be best to use foreman-installer package contents, look for puppet modules named .pp.