Chapter 9. Customizing Satellite Server

Red Hat Satellite Server can be extended by the addition of user interface plug-ins and by the use of hooks triggered by orchestration and Rails events. Some plug-ins are installed by default but additional plug-ins can be installed as RPM packages from the Red Hat repositories and from upstream. Red Hat supports the API but not upstream plug-ins themselves. Some hooks are provided as RPM packages and more hooks can be created as shell scripts. This enables system administrator's familiar with shell scripts to extend the Satellite's capabilities without having to use Ruby and Rails.

9.1. Adding Additional Plug-ins

To list the plug-ins available from the configured repositories, enter as root:
# yum search rubygem-foreman
Loaded plugins: product-id, search-disabled-repos, subscription-manager
=================== N/S matched: rubygem-foreman ==============================
tfm-rubygem-foreman-redhat_access.noarch : Foreman engine to access Red Hat knowledge base and manage support cases.
tfm-rubygem-foreman-tasks.noarch : Tasks support for Foreman with Dynflow integration
tfm-rubygem-foreman_abrt.noarch : Display reports from Automatic Bug Reporting Tool in Foreman
tfm-rubygem-foreman_bootdisk.noarch : Create boot disks to provision hosts with Foreman
output truncated
To view the currently installed plug-ins, enter as root:
# yum list installed | grep rubygem-foreman
To add a new plug-in, install the package and then restart Foreman. For example, to install the SCAP client plug-in, enter as root:
# yum install rubygem-foreman_scap_client.noarch
Restart the Foreman service for the plug-in to be registered:
# touch ~foreman/tmp/restart.txt
The Foreman website has additional plug-ins Popular Plugins[11].

Important

Support will be unable to diagnose or support your Satellite if Foreman hooks have been installed and configured. Use Foreman hooks at your own risk.
Red Hat supports the plug-in API but does not provide support for any specific upstream plug-ins themselves. Foreman hooks can modify workflows in Satellite. Because of this, Red Hat support can ask that you remove all hooks in order to get support from Red Hat.
Foreman hooks cannot be migrated by the Satellite migration process. This means that you must remove them before upgrading and then reinstate them after you have confirmed that your Satellite upgrade is working as expected.

Adding Plug-ins from the Foreman Repository

The Foreman repositories are available at yum.theforeman.org/plugins. Separate repositories are available for each Foreman release, containing plug-ins that are compatible with that particular version. Ensure you install plug-ins compatible with the version of Foreman on your system. To determine the Foreman release in use, enter:
$ rpm -q foreman
foreman-1.7.2.53-1.el7sat.noarch
Configure the Foreman repository as follows:
# /etc/yum.repos.d/foreman-plugins.repo
[foreman-plugins]
name=Foreman plugins
baseurl=http://yum.theforeman.org/plugins/1.10/elX/x86_64/
enabled=1
gpgcheck=0
Where X is 6 or 7 for Red Hat Enterprise Linux 6 or 7 respectively. Change the version number in the URL to match the Foreman release in use. Note the packages are not currently GPG signed.
  1. Find the package for the plug-in with the search function. For example, to search for a plug-in with the word "discovery" in the name:
    # yum search discovery
    Alternately check the plug-in documentation for the name of the plug-in.
  2. Install the package, for example:
    # yum install tfm-rubygem-foreman_discovery
  3. Restart the Foreman service for the plug-in to be registered:
    # touch ~foreman/tmp/restart.txt