Katello-agent for Red Hat 8

Problem:

I’m testing RHEL 8 , just to be prepared when it will be necessary, and I’m trying to install katello-agent but there are no packages RHEL8 ready on https://yum.theforeman.org/client/ (1.22/1.23 or nightly).

I tried to install the RHEL7 repo but an error appears (below) , the fc28 doesn’t have the katello-agent and the fc29 requires python 3.7.

Error:

 Problem: package katello-agent-3.5.0-2.el7.noarch requires katello-host-tools = 3.5.0-2.el7, but none of the providers can be installed
  - conflicting requests
  - nothing provides /usr/bin/python needed by katello-host-tools-3.5.0-2.el7.noarch
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

of course python2/3 are installed:

lrwxrwxrwx 1 root root 36 Sep 16 09:30 /usr/bin/python -> /etc/alternatives/unversioned-python
lrwxrwxrwx 1 root root 9 Aug 20 17:45 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root 25 Sep 13 12:25 /usr/bin/python3 -> /etc/alternatives/python3
lrwxrwxrwx 1 root root 16 Sep 16 09:30 /etc/alternatives/unversioned-python -> /usr/bin/python2

My repos:

repo id                                                                  repo name                                                                                        status
epel                                                                     Extra Packages for Enterprise Linux 8 - x86_64                                                   1,179
foreman-client                                                           Foreman client 1.22                                                                                 10
rhel-8-for-x86_64-appstream-rpms                                         Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                         6,002
rhel-8-for-x86_64-baseos-rpms                                            Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                            2,172

There is also a bugfix (for satellite) but no one replied: https://bugzilla.redhat.com/show_bug.cgi?id=1679208

Expected outcome:

I can install katello-agent on RHEL8

Foreman and Proxy versions:

Foreman 1.22.1
Katello 3.12.3

Foreman and Proxy plugin versions:

Other relevant data:

AFAIK our current issue is that we legally can’t use RHEL8 in our build servers. That means we’re waiting for CentOS 8. Right now I’d recommend taking the SRPM and build it using mock. IIRC there have been internal builds on RHEL8 so technically I’d expect it to work.

Thanks a lot, I’ll try

CentOS 8 is scheduled to be released September 24th:

I’m hoping we can soon follow building at least the client tools.

Is ther any update on this?
We’re starting to roll out our initial CentOS8 machines and this is the last thing that’s missing right now :slight_smile:

There is work that we have to perform to update our build system to handle CentOS 8. Given this, we are planning to package client bits for the 1.25 release (and available in nightly sometime before that) which will put this available within the next 3 months.

2 Likes

any update on this yet?

For Foreman 2.0 there are initial EL8 client bits at https://yum.theforeman.org/client/2.0/el8/x86_64/ but katello-agent itself is not there yet due to an issue with the gofer dependency. Also note that 2.0 is currently at RC1. This is being worked on.

1 Like

When can we expect release of Foreman 2.0?

In Katello 4.0 the katello-agent will no longer be supported. Due to the migration to Pulp3 it will no longer work. We’re officially deprecating the agent in Katello 3.16 so there will be time for folks to adapt. We are recommending looking at the Remote Execution plugin to continue pushing updates to content hosts.

Since we’re dropping agent support in ~2 releases, there’s no plan to provide katello-agent packages for EL8.

1 Like

Jonathon. So this means that instead of using the katello agent for subscription management, we will need to use the remote execution and write some scripts to manage the client yum repos setup?

I expect that this would be handled via a job template.

I’m using satellite (RedHat rebadge katello etc) and RedHat have a repo that allows some form of katello-agent for RHEL8 (satellite-tools-6.5-for-rhel-8-x86_64-rpms). I can’t seem to make this available to CentOS 8 machines (not sure if that’d be a good idea anyway); I’m assuming because of licensing. If anyone has a way of sorting that, I’d be so happy.

In the meantime it looks like we will be using the job templates for centos8 and katello-agent ofr centos7, rhel7, and rhel8.

This is correct. If you are missing functionality, it would be great to hear.

This will likely work if you take the SRPMs and rebuild them, though I recall that there was Python 2 involved and that made things significantly harder. For what it’s worth, Satellite will follow upstream and deprecate katello-agent as well (which shouldn’t surprise anyone).

I wonder if this means that Redhat will also soon be dropping the whole subscription agent idea for Satellite for remote subscription management on RHEL as well. If not, then there should be source code for their stuff.

Edit: Oh, that is what ekohl just said above.

Yeah, manual attempts to install packages and hunt down dependencies end up at this point:

  • nothing provides /usr/bin/python needed by katello-host-tools-3.3.5-4.el7.noarch

Trying to install an older version of katello-agent as a work around failed because it would need python reverted to an older version which is not a possibility.

I’m trying to hunt down how job updates might work. It might almost be easier to tell the clients to run updates themselves e.g. through a cron job.

FWIW, I think installing anything from the satellite-tools repository on a non-RHEL machine will be in breach with your RH contact, please read it to be sure. :wink:

That said the 2.0 client repository contains EL8 bits (as already mentioned), including katello-host-tools but without katello-agent, as that won’t be supported on EL8 on Katello (as Jonathon wrote).
The 2.0 client bits should work for Foreman 1.22 (Katello 3.12) and later.

The only missing feature you should see is the “push” of package installs/updates from Katello to the clients using the agent. Subscription, reporting etc all work just fine without the agent. For package install/update, we recommend to use Remote Execution which Katello already provides job templates for.

There’s a lot of confusion in this thread.

Subscription-manager is for management of assigned subscrpitions
Katello-agent for remote installation/updating of packages and errata triggered from a katello server

katello-agent is deprecated and being removed in an upcoming release. Subscription-manager is not.

1 Like

So, I I’m on Katello 3.7.1.1 (Foreman 1.18.2).
I don’t understand what should I do to manage RHEL8/CENTOS8 servers.
Can someone kindly explain it to me?
I imagine I have to update my Katello server, and it’s not a problem, and then ?

Thanks

Katello 3.10 added support for EL8 so that’s the minimum version you want to be on. I’d strongly recommend the latest supported version.