Appendix C. Importing Content ISOs into a Connected Satellite

Even if the Satellite Server can connect directly to the Red Hat Customer Portal, you can perform the initial synchronization from locally mounted content ISOs. Once the initial synchronization is completed from the content ISOs, you can switch back to downloading content through the network connection. To accomplish this, download the Content ISOs for Red Hat Satellite from the Red Hat Customer Portal and import them into the Satellite Server. For locations with bandwidth limitations, using an On Demand or Background download policy might be more efficient than downloading and importing Content ISOs.

Important

This section is not required if your Satellite Server is connected to the Internet.

This example shows how to perform the first synchronization of the Red Hat Enterprise Linux 6 repository from content ISOs. At the time of writing there are 21 DVD size ISO files.

Downloading the content ISOs from the Red Hat Customer Portal

  1. In your browser, go to Red Hat Customer Portal and log in.
  2. Click DOWNLOADS.
  3. Select Red Hat Satellite.
  4. Select the Content ISOs tab. All products in your subscription are listed there.
  5. Search for the section required, in this example Red Hat Enterprise Linux 6.
  6. Click the link for the product name, such as RHEL 6 Server (x86_64)(2017-04-14T01:27:00) to reveal the ISO files.
  7. Using your browser, download the required ISOs to a location accessible by your browser. For example, to your workstation’s Downloads directory.

Importing the Content ISOs

  1. In a terminal connected to the Satellite Server, create a directory to act as a temporary store for all of the required Satellite Content ISOs. This example uses /tmp/isos/rhel6:

    # mkdir -p /tmp/isos/rhel6
  2. On your workstation, copy the ISO files to the Satellite Server:

    $ scp ~/Downloads/<iso_file> root@satellite.example.com:/tmp/isos/rhel6
  3. On the Satellite Server, create a directory to serve as a mount point for the ISOs:

    # mkdir /mnt/iso
  4. Create a working directory to hold the contents of all the ISOs:

    # mkdir /mnt/rhel6
  5. Mount and recursively copy the contents of the first ISO to the working directory:

    # mount -o loop /tmp/isos/<iso_file> /mnt/iso
    # cp -ruv /mnt/iso/* /mnt/rhel6/
    # umount /mnt/iso
  6. Repeat the above step for each ISO until you have copied all the data from the Content ISOs into /mnt/rhel6.
  7. If required, remove the empty directory used as the mount point:

    # rmdir /mnt/iso
  8. If required, remove the temporary working directory and its contents to regain the space:

    # rm -rf /tmp/isos/

Performing the Initial Synchronization

  1. Set the owner and the SELinux context for the directory and its contents to be the same as /var/lib/pulp:

    # chcon -R --reference /var/lib/pulp  /mnt/rhel6/
    # chown -R apache:apache /mnt/rhel6/
  2. Create or edit the /etc/pulp/content/sources/conf.d/local.conf file. Insert the following text into the file:

    [rhel-6-server]
    enabled: 1
    priority: 0
    expires: 3d
    name: Red Hat Enterprise Linux 6 Server
    type: yum
    base_url: file:///mnt/rhel6/content/dist/rhel/server/6/6Server/x86_64/os/

    The base_url path might differ in your content ISO. The directory specified in base_url must contain the repodata directory, otherwise the synchronization will fail. To synchronize multiple repositories, create a separate entry for each of them in the configuration file /etc/pulp/content/sources/conf.d/local.conf.

  3. In the Satellite web UI, navigate to Content > Red Hat Repositories and select the repository to be enabled, in this example Red Hat Enterprise Linux 6 Server RPMs x86_64 6Server.
  4. Under Content > Sync Status select the repository to be synchronized and click Synchronize Now.

Note that there is no indication in the Satellite web UI of which source is being used. In case of problems with a local source, Satellite pulls content through the network. To monitor the process, enter the following command in a terminal (limited to Red Hat Enterprise Linux 7 base systems):

# journalctl -f -l SYSLOG_IDENTIFIER=pulp | grep -v worker[\-,\.]heartbeat

The above command displays interactive logs. First, Satellite Server connects to the Red Hat Customer Portal to download and process repository metadata. Then, the local repository is loaded. In case of any errors, cancel the synchronization in the Satellite web UI and verify your configuration.

After successful synchronization you can detach the local source by removing its entry from /etc/pulp/content/sources/conf.d/local.conf.