Extending the RHSM download plug-in (Optional)

You can configure the RHSM download plug-in to download and cache packages from repositories that are not officially supported by BigFix.

The RHSM download plug-in can resolve package dependency for unsupported RHSM repositories, allowing the installation of unsupported dependent packages. This extended solution allows you to use BigFix to deploy packages from repositories that are not shipped out of the box, such as debuginfo repositories.

Before you begin, you must complete the following tasks:
  • Ensure that appropriate licenses are registered and that your Red Hat subscription is active.
  • Review the BigFix Patch for Red Hat support information and verify the list of supported repositories: Red Hat Repositories that BigFix supports.

Creating an extended repository list file

The Red Hat download plug-in can use an extended repository list file, which contains additional repositories for both base and extension products that are included in your subscription.

The extended repository list file must meet the following criteria:
  • It must be a valid .json file.
  • It must be accessible to the Red Hat download plug-in. Ensure that the Administrator or root user can read the file.
  • It must contain the following format:
    {
       "<OS_key>":[     
         {"name": "<name>", "baseurl": "<url>"},
         {"name": "<name>", "baseurl": "<url>"}
       ]
    }

    For example:

    {
       "x86":[     
         {"name": "Red Hat Enterprise Linux 6 Server - Oracle Java (Source RPMs)", 
    "baseurl": "https://cdn.redhat.com//content/rhel/server/6/6Server/ 
    x86/oracle-java/source/SRPMS"}
       ]
    }
Note: It uses the same format as the DLRHELRepoList.json file, which is set for repoListFile in the plugin.ini file.
You must replace the placeholders, which are enclosed in angle brackets <>, with the actual values.
OS_key
To use the unsupported repositories with the BigFix RHEL Patching content, use the following OS keys as listed in the DLRHELRepoList.json file. This might not be the full list as later versions of the download plug-in are released. To get the latest and complete copy of the repository list, complete the following actions:
  1. Check whether your endpoints are registered to the latest download plug-in. The Manage Download Plug-ins dashboard indicates when the plug-in is up-to-date or when a new version is available.
  2. View the DLRHELRepoList.json file from the following locations:
    On Windows Systems
    %PROGRAM FILES%\BigFix Enterprise\BES Server\GatherDBData\gather\Patching Support\CurrentSiteData
    On Linux Systems
    /var/opt/BESServer/gatherDBData/gather/Patching Support/CurrentSiteData
Important: Use the correct OS key for each repository to avoid download and dependency resolution issues.
name
You can retrieve the name from the Red Hat Customer Portal; see Retrieving the repository information.
baseurl
You can retrieve the distribution target name from the Red Hat Customer Portal; see Retrieving the repository information. In the baseurl, replace the architecture $basearch and $releasever values.

Retrieving the repository information

To retrieve repository information from the Red Hat Customer Portal, complete the following steps:
  1. Log in to the Red Hat Customer Portal at https://access.redhat.com/.
  2. Go to the Subscription Overview page at https://access.redhat.com/management/.
  3. Click the appropriate subscription. The Subscription Information page is displayed.
  4. From the Manage section, under Subscriber Inventory, you can see the number of subscribed systems and hypervisors. Click Systems.
  5. From the Content Sets tab, go to the row of the repository and click View.
  6. You can derive the values for the name and baseurl keys based on the following guidelines:
    name
    Select the repository name value from the Name column. An example of the name value is Red Hat Enterprise Linux 6 Server - Oracle Java (Source RPMs)
    baseurl
    The baseurl starts with https://cdn.redhat.com/. You can see the repository baseurl from the Content details column, in the Content Download URL field. For example,
    /content/rhel/server/6/$releasever/$basearch/
    oracle-java/source/SRPMS
    Replace the values for $releasever and $basearch. See the table for examples of values. When the values are replaced, an example of the baseurl is:
    https://cdn.redhat.com//content/rhel/server/6/6Server/
    x86/oracle-java/source/SRPMS
    Architecture in baseurl Possible values
    $releasever
    • 6Server
    • 6Client
    • 6Workstatsion
    • 7Server
    • 7Client
    • 7Workstation
    $basearch x86_64, i386, ppc64le, ppc64be
    Note: This table contains examples of values. For more updated and complete values, see the Red Hat Customer Portal at https://access.redhat.com/

To verify if the certificate has access to the repository that you chose to setup, import the certificate to the browser, then use the URL to check if it can be accessed.

Updating the RHSM download plug-in configuration file

Configure the RHSM Download Plug-in to use an extended repository list file. The plugin.ini configuration file is overwritten when the RHSM download plug-in is unregistered or configured from the Manage Download Plug-in dashboard. Any change that you make in the configuration file is lost, therefore take note of the previous changes.

The configuration file includes the following:
primaryRepoListFile
This list file contains the repositories supported by default by BigFix.
extendedRepoListFile
This optional repository list is for extensions to the default repository list. It has the same format as the default repository list.
onlyUseExtendedRepoListFile
This is an optional configuration list file to limit downloads to only custom repositories.
  1. Use a text editor to open the plugin.ini file from the following locations:
    On Windows systems
    %PROGRAM FILES%\BigFix Enterprise\BES Server\DownloadPlugins\RHSMProtocol
    On Linux systems
    /var/opt/BESServer/DownloadPlugins/RHSMProtocol
  2. In the extendedRepoListFile field, enter the absolute path or relative path to the extended repository list file. If it is set to a relative path, the path must be relative to the location of the RHSM download plug-in executable.
    For example:
    extendedRepoListFile  = C:\Program Files (x86)\BigFix Enterprise\
                  BES Server\DownloadPlugins\RHSMProtocol\<extendedRepoList>.json
  3. If you want set the RHSM Download Plug-in to only use the extended repository list, set the onlyUseExtendedRepoListFile field to yes.
    For example:
    onlyUseExtendedRepoListFile= yes

    If you want to set RHSM Download Plug-in to use both repository list files, configure the setting to no. In cases where the same OS key is used in both files, the repositories will be combined.

  4. Save the file.
In the following examples, the EPEL 6 repo was added to server-6-x86_64 and the EPEL 7 repo was added to server-7-x86_64. Running the `RHSMPlugin.exe --check-allrepos` command will have the following output.

Example: When EPEL 6 repo is added to server-6-x86_64

4496 : 2018-02-28 15:26:31 : INFO : Testing Certs access to: server-6-x86_64
4496 : 2018-02-28 15:26:31 : INFO : EPEL_6
4496 : 2018-02-28 15:26:31 : INFO : Success!
4496 : 2018-02-28 15:26:31 : INFO : Red_Hat_Enterprise_Linux_6_Server_(RPMs)
4496 : 2018-02-28 15:26:31 : INFO : Success!

Example: When EPEL 7 repo is added to server-7-x86_64

4496     : 2018-02-28 15:26:31 : INFO     :  Testing Certs access to: server-7-x86_64
4496     : 2018-02-28 15:26:31 : INFO     :  EPEL_7
4496 : 2018-02-28 15:26:31 : INFO : Success!
4496 : 2018-02-28 15:26:31 : INFO : Red_Hat_Enterprise_Linux_7_Server_(RPMs)
4496 : 2018-02-28 15:26:31 : INFO : Success!