Red Hat Training

A Red Hat training course is available for Red Hat Satelitte

Chapter 5. Importing Subscriptions and Synchronizing Content

5.1. Enabling Red Hat Repositories

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

You should select the appropriate release for your environment. This task enables the following repositories:

  • Red Hat Enterprise Linux Server (Kickstart): This allows Satellite to kickstart a host.
  • Red Hat Enterprise Linux Server (RPMs): This provides ongoing content and errata.
  • Red Hat Enterprise Linux Server - Satellite Tools (RPMs): This provides supporting software, such as Puppet and katello-agent.

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

  1. Select ContentRed Hat Repositories.
  2. On the Kickstarts tab, go to Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 7 Server (Kickstart) and select the Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.2 repository.
  3. On the RPMs tab, go to Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 7 Server (RPMs) and select the Red Hat Enterprise Linux 7 Server RPMs x86_64 7 Server repository.
  4. Navigate to Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 7 Server - Satellite Tools (RPMs) - Satellite Tools (RPMs) and select the Red Hat Enterprise Linux 7 Server - Satellite Tools RPMs x86_64 repository.

Enabling Red Hat Enterprise Linux 7 Server Repositories Using Hammer CLI

  1. Enable your Kickstart repository.

    # hammer repository-set enable --organization-label "$ORG" \
    --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 "$ORG" \
    --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 "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --basearch='x86_64' \
    --name 'Red Hat Satellite Tools 6 (for RHEL 7 Server) (RPMs)'

5.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-label org_label
  2. Create a new repository under the custom Product.

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

    Content type specifies whether you want Yum, Puppet, or Docker content.

  3. Upload packages to the custom repository.

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

5.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 RPMs x86_64.
  4. Navigate to Red Hat Enterprise Linux Server7.2x86_64 and select Red Hat Enterprise Linux 7 Server Kickstart x86_64 6.6.
  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 "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --name  'Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.2' \
    --async
  2. Synchronize your RPMs repository.

    $ hammer repository synchronize --organization "$ORG" \
    --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 "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --name 'Red Hat Satellite Tools 6 for RHEL 7 Server RPMs x86_64' \
    --async