Managing Red Hat Enterprise Linux Clients

The following sections provide guidance on managing Red Hat Expanded Support clients, this includes Salt clients and traditional systems.

Server Configuration for Red Hat Enterprise Linux Channels

This section provides guidance on server configuration for Red Hat Enterprise Linux Channels provided by SUSE.

  • Minimum of 8 GB RAM and at least two physical or virtual CPUs. Taskomatic will use one of these CPUs.

  • Taskomatic requires of minimum of 3072 MB RAM. This should be set in /etc/rhn/rhn.conf:

    taskomatic.java.maxmemory=3072
  • Provision enough disk space. /var/spacewalk contains all mirrored RPMs. For example, Red Hat Enterprise Linux 6 x86_64 channels require 90 GB and more.

  • LVM or an NFS mount is recommended.

  • Access to RHEL 5/6/7 Subscription Media.

Access to RHEL Media or Repositories

Access to Red Hat base media repositories and RHEL installation media is the responsibility of the user. Ensure that all your RHEL systems obtain support from RHEL or all your RHEL systems obtain support from SUSE. If you do not follow these practices you may violate terms with Red Hat.

Red Hat Enterprise Linux Channel Management Tips

This section provides tips on Red Hat Enterprise Linux channel management.

  • The base parent distribution Red Hat Enterprise Linux channel per architecture contains zero packages. No base media is provided by SUSE. The RHEL media or installation ISOs should be added as child channels of the Red Hat Enterprise Linux parent channel.

  • The Red Hat Enterprise Linux and tools channels are provided by SUSE Customer Center (SCC) using mgr-sync.

  • It can take up to 24 hours for an initial channel synchronization to complete.

  • When you have completed the initial synchronization process of any Red Hat Enterprise Linux channel it is recommended to clone the channel before working with it. This provides you with a backup of the original synchronization.

Mirroring RHEL Media into a Channel

The following procedure guides you through setup of the RHEL media as a Uyuni channel. All packages on the RHEL media will be mirrored into a child channel located under RES 5/6/7 distribution per architecture.

Procedure: Mirroring RHEL Media into a Channel
  1. Create a new Channel by log in to the Web UI and selecting Channels  Manage Software Channels  Create Channel .

  2. Fill in basic channel details and add the channel as a child to the corresponding RES 5/6/7 distribution channel per architecture from SCC. The base parent channel should contain zero packages.

  3. Modify the RES 5/6/7 activation key to include this new child channel.

  4. As root on the Uyuni command line copy the ISO to the /tmp directory.

  5. Create a directory to contain the media content:

    mkdir -p /srv/www/htdocs/pub/rhel
  6. Mount the ISO:

    mount -o loop /tmp/name_of_iso /srv/www/htdocs/pub/rhel
  7. Start spacewalk-repo-sync to synchronize Red Hat Enterprise Linux 7 packages:

    spacewalk-repo-sync -c channel_name -u https://127.0.0.1/pub/rhel/
    Repo URL: https://127.0.0.1/pub/rhel/
    Packages in repo:              [...]
    Packages already synced:       [...]
    Packages to sync:              [...]
    [...]

    To synchronize RES 5/6 packages:

    spacewalk-repo-sync -c channel_name -u https://127.0.0.1/pub/rhel/Server/
    Repo URL: https://127.0.0.1/pub/rhel/Server/
    Packages in repo:              [...]
    Packages already synced:       [...]
    Packages to sync:              [...]
    [...]
  8. When the channel has completed the synchronization process you can use the channel as any normal Uyuni channel.

Attempting to synchronize the repository will sometimes fail with this error:

[Errno 256] No more mirrors to try.

To troubleshoot this error, look at the HTTP protocol to determine if spacewalk-repo-sync is running:

procedure: Debug spacewalk-repo-sync
  1. Start debugging mode with export URLGRABBER_DEBUG=DEBUG

  2. Check the output of /usr/bin/spacewalk-repo-sync --channel <channel-label> --type yum

  3. If you want to disable debug mode, use unset URLGRABBER_DEBUG

Registering RES Salt Clients with Uyuni

This section will guide you through registering RHEL clients with Uyuni.

This section assumes you have updated your server to the latest patch level.

Synchronizing Appropriate Red Hat Enterprise Linux Channels

Ensure you have the corresponding Red Hat Enterprise Linux product enabled and required channels have been fully synchronized:

RHEL 7.x
  • Product: Red Hat Enterprise Linux 7

  • Mandatory channels: rhel-x86_64-server-7 , res7-suse-manager-tools-x86_64 , res7-x86_64 systemitem>

RHEL 6.x
  • Product: Red Hat Enterprise Linux 6

  • Mandatory channels: rhel-x86_64-server-6 , res6-suse-manager-tools-x86_64 , res6-x86_64

Checking Synchronization Progress

To check if a channel has finished synchronizing you can do one of the following:

  • From the UyuniWeb UI browse to Admin  Setup Wizard and select the SUSE Products tab. Here you will find a percent completion bar for each product.

  • Alternatively, you may check the synchronization log file located under /var/log/rhn/reposync/channel-label.log using cat or the tailf command. Keep in mind that base channels can contain multiple child channels. Each of these child channels will generate its own log during the synchronization progress. Do not assume a channel has finished synchronizing until you have checked all relevant log files including base and child channels.

Create an activation key associated with the Red Hat Enterprise Linux channel.

Creating a Bootstrap Repository

The following procedure demonstrate creating a bootstrap repository for RHEL:

  1. On the server command line as root, create a bootstrap repo for RHEL with the following command:

    mgr-create-bootstrap-repo RHEL_activation_channel_key

    If you use a dedicated channel per RHEL version, specify it with the --with-custom-channel option.

  2. Rename bootstrap.sh to resversion-boostrap.sh:

    cp bootstrap.sh res7-bootstrap.sh

Register a Salt Client via Bootstrap

The following procedure will guide you through registering a Salt client using the bootstrap script.

Procedure: Registration Using the Bootstrap Script
  1. For your new client download the bootstrap script from the Uyuni server:

    wget --no-check-certificate https://`server`/pub/bootstrap/res7-bootstrap.sh
  2. Add the appropriate res-gpg-pubkey--.key to the ORG_GPG_KEY key parameter, comma delimited in your res7-bootstrap.sh script. These are located on your Uyuni server at:

    http://`server`/pub/
  3. Make the res7-bootstrap.sh script executable and run it. This will install necessary Salt packages from the bootstrap repository and start the Salt client service:

    chmod +x res7-bootstrap.sh
    ./res7-boostrap.sh
  4. From the Uyuni Web UI select Salt  Keys and accept the new client’s key.

Troubleshooting Bootstrap

If bootstrapping a client fails it is usually caused by missing packages. These missing packages are contained on the RHEL installation media. The RHEL installation media should be loop mounted and added as a child channel to the Red Hat Enterprise Linux channel. See the warning in [bp.expanded-support.resclients] on access to RHEL Media.

Manual Salt Client Registration

The following procedure will guide you through the registration of a Salt client manually.

  1. Add the bootstrap repository:

    yum-config-manager --add-repo https://`server`/pub/repositories/res/7/bootstrap
  2. Install the salt-minion package:

    yum install salt-minion
  3. Edit the Salt client configuration file to point to the Uyuni server:

    mkdir /etc/salt/minion.d
    echo "master:`server_fqdn`" > /etc/salt/minion.d/susemanager.conf
  4. Start the client service:

    systemctl start salt-minion
  5. From the Uyuni Web UI select the Salt  Keys and accept the new client’s key.