Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Chapter 14. Extending Satellite Server Functionality

Red Hat Satellite Server can be extended by installing plugins. For example, you can extend hosts orchestration with the Foreman Hooks plug-in. For more information about Foreman Hooks, see the Using Foreman Hooks in Satellite Server article on the Red Hat Customer Portal. The plugins are available as RPM packages in the Red Hat repositories and the Foreman repositories.

Plugins for Satellite typically include the word foreman in the RPM package name and the plugins for Capsule include the word smart_proxy in the name.

The plugins provided by Red Hat can be searched and installed using the yum command from the Satellite CLI.

The upstream Satellite plugins are available in the Foreman repositories. Each release of Foreman has a separate repository containing plugins for that release. For more information about configuring the Foreman repository, see Section 14.3, “Configuring the Foreman Repository”.

Important

Red Hat supports the Foreman API but not the plugins installed from the Foreman repository.

14.1. Searching for Plugins

Search available plugins using the Satellite CLI.

Note

To search upstream plugins as well, configure the Foreman repository as described in Section 14.3, “Configuring the Foreman Repository”

Procedure

  • As root user, search for packages with "-foreman" in the package name using yum search.

    Example - Searching rubygem plugin for Satellite:

    # 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

14.2. Installing Plugins

Install plugins using the Satellite CLI. Ensure you install plugins compatible with the version of Foreman on your system. You can view an RPM package description to confirm the identity of a plugin using the yum info or rpm -qi command.

Note

To install upstream plugins, configure the Foreman repository as described in Section 14.3, “Configuring the Foreman Repository”.

Procedure

  1. Install the required plugin using yum install.

    Example: Installing the tfm-rubygem-foreman_templates plugin:

    # yum install tfm-rubygem-foreman_templates
  2. Restart foreman-maintain service.

    # foreman-maintain service restart

To verify the install, use yum to list installed plugins:

  • Example: Verifying rubygem-foreman plugin is installed:

    # yum list installed | grep rubygem-foreman | grep foreman
  • You can also list Capsule plugins using yum:

    # yum list installed | grep proxy

14.3. Configuring the Foreman Repository

Configure the Foreman repository using the Satellite CLI to install the upstream plugins. After you configure the repository, you can search and install the plugins using the yum command from Satellite CLI. The Foreman packages are not currently GPG signed.

For additional information on foreman plugins, see the Popular Plugins and List of Plugins sections on the Foreman website.

Procedure

  1. Determine the Foreman release with rpm command.

    $ rpm -q foreman
    foreman-1.7.2.53-1.el7sat.noarch
  2. Create an rpm configuration file.

    touch /etc/yum.repos.d/foreman-plugins.repo
  3. Add the following content to the file:

    [foreman-plugins]
    name=Foreman plugins
    baseurl=http://yum.theforeman.org/plugins/1.20/el7/x86_64/
    enabled=1
    gpgcheck=0

    Replace the version number in the URL to the required Foreman release number.