Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Chapter 4. Importing Subscriptions and Synchronizing Content

4.1. Enabling Red Hat Repositories

You must enable the required Red Hat repositories to support provisioning a Red Hat Enterprise Linux host.

Note

For a list of repositories required to install Red Hat Satellite 6.4, see Content Delivery Network Repositories in the Release Notes.

Select the appropriate release for your environment. You can use the examples in this topic to enable the following repositories:

  • Red Hat Enterprise Linux Server (Kickstart).

    Enable this repository to kickstart a host.

  • Red Hat Enterprise Linux Server (RPMs).

    Enable this repository for ongoing content and errata.

  • Red Hat Enterprise Linux Server - Satellite Tools (RPMs).

    Enable this repository to support software, such as Puppet and katello-agent.

Enabling Red Hat Enterprise Linux 7 Server Repositories Using the Web UI

  1. In the Satellite web UI, navigate to Content > Red Hat Repositories.
  2. Use the Search field to enter the following repository name: Red Hat Enterprise Linux 7 Server (RPMs).
  3. In the Available Repositories pane, click on Red Hat Enterprise Linux 7 Server (RPMs) to expand the repository set.
  4. For the x86_64 7.5 entry, click the Enable icon to enable the repository.
  5. Use the Search field to enter the following repository name: Red Hat Satellite Tools 6.4 (for RHEL 7 Server) (RPMs).
  6. In the Available Repositories pane, click on Red Hat Satellite Tools 6.4 (for RHEL 7 Server) (RPMs) to expand the repository set.
  7. For the x86_64 entry, click the Enable icon to enable the repository.
  8. Use the Search field to enter the following repository name: Red Hat Enterprise Linux Server 7 (Kickstart).
  9. In the Available Repositories pane, click on Red Hat Enterprise Linux 7 Server (Kickstart) to expand the repository set.
  10. For the x86_64 7.5 entry, click the Enable icon to enable the repository.

Enabling Red Hat Enterprise Linux 7 Server Repositories Using Hammer CLI

  1. Enable your Kickstart repository.

    # hammer repository-set enable --organization "Default_Organization" \
    --product 'Red Hat Enterprise Linux Server' \
    --basearch='x86_64' \
    --releasever='7Server' \
    --name 'Red Hat Enterprise Linux 7 Server (Kickstart)'
  2. Enable your RPMs repository.

    # hammer repository-set enable --organization "Default_Organization" \
    --product 'Red Hat Enterprise Linux Server' \
    --basearch='x86_64' \
    --releasever='7Server' \
    --name 'Red Hat Enterprise Linux 7 Server (RPMs)'
  3. Enable your Satellite Tools repository.

    # hammer repository-set enable --organization "Default_Organization" \
    --product 'Red Hat Enterprise Linux Server' \
    --basearch='x86_64' \
    --name 'Red Hat Satellite Tools {ProductVersion} (for RHEL 7 Server) (RPMs)'

4.2. Creating a Custom Product

You can enable a repository with custom packages, but you must first manually create a Product for the repository.

Creating Custom Products Using the Web UI

  1. Click ContentProducts and then click New Product.
  2. Enter a name for your custom Product.
  3. Click Save.
  4. After the screen refreshes, click Create Repository.
  5. Enter Puppet Modules in the Name field.
  6. In the Type field, Puppet. Leave the URL field blank.
  7. Click Save.

Uploading Puppet Modules to the Repository Using the Web UI

You can now upload a Puppet Module to the Puppet Module repository. You can also use the https://forge.puppetlabs.com as the URL to mirror Puppet Forge locally. All of the content from Puppet Forge is available on your Satellite Server. However, this requires downloading over 2700 modules and can take considerable time, depending on available bandwidth. This example uses the motd module because it is simple, and has no dependencies on other modules. If you want to upload packages with large files, use the Hammer CLI.

  1. Download the motd Puppet module from https://forge.puppetlabs.com/jeffmccune/motd. The file that you download will have a .tar.gz extension.
  2. Click ContentProducts and click Custom Products in the Name field.
  3. On the Repositories tab, click Puppet Modules to modify the Puppet Modules repository.
  4. In the Upload Package section, click Choose Files, and navigate to the motd module that you downloaded.
  5. Click Upload.

Creating Custom Products and Enabling Repositories Using Hammer CLI

  1. Create a custom Product.

    $ hammer product create --name "product_name" --organization "Default_Organization"
  2. Create a new repository under the custom Product.

    $ hammer repository create --name "repo_name" \
    --organization "Default_Organization" \
    --product "product_name" \
    --content-type cont_type \
    --publish-via-http true \
    --url "repo_url"

    For the --content-type option, specify whether you want yum, puppet, or docker content. The command accepts only lower-case text.

  3. Upload packages to the custom repository.

    $ hammer repository upload-content --product "product_name" \
    --organization "Default_Organization" \
    --id "repo_id" \
    --path path_to_dir

4.3. Synchronizing Content

You can synchronize repositories from the Red Hat Content Delivery Network to your Satellite, which also applies to synchronizing custom repositories (such as Yum or Puppet) that contain a repository URL.

Synchronizing Content Using Red Hat Enterprise Linux 7 Server Using the Web UI

  1. Click ContentSync Status to display the list of available Products.
  2. Navigate to Red Hat Enterprise Linux Server7Serverx86_64.
  3. Select the following Products:

    • Red Hat Enterprise Linux 7 Server RPMs x86_64 6Server.
    • Red Hat Enterprise Linux 7 Server - Satellite Tools 6.4 RPMs x86_64.
  4. Navigate to Red Hat Enterprise Linux Server7.5x86_64 and select Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.5.
  5. Click Synchronize Now.

    The synchronization could take several hours, depending on available bandwidth.

Synchronizing Content Using Hammer CLI

  1. Synchronize your Kickstart repository.

    $ hammer repository synchronize --organization "Default_Organization" \
    --product 'Red Hat Enterprise Linux Server' \
    --name  'Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.5' \
    --async
  2. Synchronize your RPMs repository.

    $ hammer repository synchronize --organization "Default_Organization" \
    --product 'Red Hat Enterprise Linux Server' \
    --name 'Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server' \
    --async
  3. Synchronize your Satellite Tools repository.

    $ hammer repository synchronize --organization "Default_Organization" \
    --product 'Red Hat Enterprise Linux Server' \
    --name 'Red Hat Satellite Tools 6.4 for RHEL 7 Server RPMs x86_64' \
    --async