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-managerpackage is of version1.24.13-3.el7_7or above.
Procedure
-
Set
package_profile_on_trans=1in the/etc/rhsm/rhsm.conffile on the content hosts. This will prompt subscription-manager to upload the package profile of the host, after every yum transaction. Stop the goferd service on content hosts:
# systemctl stop goferd.service
Disable the goferd service on content hosts:
# systemctl disable goferd.service
Remove the Katello agent on content hosts:
WarningIf your host is installed on Red Hat Virtualization version 4.4 or lower, do not remove the
katello-agentpackage because the removed dependencies corrupt the host.# yum remove katello-agent
- Distribute the SSH keys to the content hosts. For more information, see Section 10.8, “Distributing SSH Keys for Remote Execution”.
- In the Satellite web UI, navigate to Administer > Settings.
- Select the Content tab.
- 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
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
Install the
katello-host-toolspackage on content hosts:# yum install katello-host-tools
Stop the goferd service on content hosts:
# systemctl stop goferd.service
Disable the goferd service on content hosts:
# systemctl disable goferd.service
Remove the Katello agent on content hosts:
WarningIf your host is installed on Red Hat Virtualization version 4.4 or lower, do not remove the
katello-agentpackage because the removed dependencies corrupt the host.# yum remove katello-agent
- Distribute the SSH keys to the content hosts. For more information, see Section 10.8, “Distributing SSH Keys for Remote Execution”.
- In the {ProjectWebUI}, navigate to Administer > Settings.
- Select the Content tab.
- 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