Chapter 11. Host Management Without Goferd

The goferd service that is used by the Katello agent to manage packages on content hosts consumes large amount of resources. To reduce memory and CPU load on content hosts, you can manage packages through remote execution. Without goferd, you can manage hosts with katello-host-tools or with subscription-manager. Note that the Katello agent is deprecated and will be removed in a future Satellite version; therefore, using remote execution will be the only way to manage packages on hosts.

11.1. Host Management Using Subscription-Manager

Prerequisites

  • For Red Hat Enterprise Linux 7 hosts, ensure that the subscription-manager package is of version 1.24.13-3.el7_7 or above.

Procedure

  1. Set package_profile_on_trans=1 in the /etc/rhsm/rhsm.conf file on the content hosts. This will prompt subscription-manager to upload the package profile of the host, after every yum transaction.
  2. Stop the goferd service on content hosts:

    # systemctl stop goferd.service
  3. Disable the goferd service on content hosts:

    # systemctl disable goferd.service
  4. Remove the Katello agent on content hosts:

    Warning

    If your host is installed on Red Hat Virtualization version 4.4 or lower, do not remove the katello-agent package because the removed dependencies corrupt the host.

    # yum remove katello-agent
  5. Distribute the SSH keys to the content hosts. For more information, see Section 10.8, “Distributing SSH Keys for Remote Execution”.
  6. In the Satellite web UI, navigate to Administer > Settings.
  7. Select the Content tab.
  8. Set the Use remote execution by default parameter to Yes. The Satellite server now uses host management by remote execution instead of goferd.

Hammer Limitations

The following applies if you are using the hammer command to push errata. The hammer command is dependent on goferd to manage errata on content hosts. As a workaround, use the Satellite remote execution feature to apply errata. For example, enter the following command to perform a yum -y update on host123.example.org:

+

# hammer job-invocation create \
--job-template "Run Command - SSH Default" \
--inputs command="yum -y update" \
--search-query "name ~ host123"
Job invocation 24 created
[.........................................] [100%]
1 task(s), 1 success, 0 fail
Note

If you use the katello-host-tools-tracer fuctionality, katello-host-tools is needed as a dependency.

11.2. Host Management Using Katello-Host-Tools

Prerequisites

  • You have enabled the Satellite Tools 6.9 repository on Satellite Server. For more information, see Enabling the Satellite Tools 6.9 Repository in Installing Satellite Server from a Connected Network.
  • You have synchronized the Satellite Tools 6.9 repository on Satellite Server. For more information, see Synchronizing the Satellite Tools 6.9 Repository in Installing Satellite Server from a Connected Network.
  • You have enabled the Satellite Tools 6.9 repository on content hosts.

Procedure

  1. Install the katello-host-tools package on content hosts:

    # yum install katello-host-tools
  2. Stop the goferd service on content hosts:

    # systemctl stop goferd.service
  3. Disable the goferd service on content hosts:

    # systemctl disable goferd.service
  4. Remove the Katello agent on content hosts:

    Warning

    If your host is installed on Red Hat Virtualization version 4.4 or lower, do not remove the katello-agent package because the removed dependencies corrupt the host.

    # yum remove katello-agent
  5. Distribute the SSH keys to the content hosts. For more information, see Section 10.8, “Distributing SSH Keys for Remote Execution”.
  6. In the {ProjectWebUI}, navigate to Administer > Settings.
  7. Select the Content tab.
  8. Set the Use remote execution by default parameter to Yes.

The Satellite server now uses host management by remote execution instead of goferd.

Hammer Limitations

The following applies if you are using the hammer command to push errata. The hammer command is dependent on goferd to manage errata on content hosts. As a workaround, use the Satellite remote execution feature to apply errata.

For example, enter the following command to perform a yum -y update on host123.example.org:

# hammer job-invocation create \
--job-template "Run Command - SSH Default" \
--inputs command="yum -y update" \
--search-query "name ~ host123"
Job invocation 24 created
[.........................................] [100%]
1 task(s), 1 success, 0 fail