In the following sections find information about Red Hat and Centos clients.
The following sections provide guidance on managing Red Hat Expanded Support clients, this includes Salt minions and traditional systems.
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 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.
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.
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.
Create a new Channel by log in to the Web UI and selecting › › .
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.
Modify the RES 5/6/7 activation key to include this new child channel.
As root on the Uyuni command line copy the ISO to the /tmp directory.
Create a directory to contain the media content:
{prompt.root}mkdir -p /srv/www/htdocs/pub/rhelMount the ISO:
{prompt.root}mount -o loop /tmp/name_of_iso /srv/www/htdocs/pub/rhelStart spacewalk-repo-sync to synchronize Red Hat Enterprise Linux 7 packages:
{prompt.root}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:
{prompt.root}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: [...]
[...]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:
Start debugging mode with export URLGRABBER_DEBUG=DEBUG
Check the output of /usr/bin/spacewalk-repo-sync --channel <channel-label> --type yum
If you want to disable debug mode, use unset URLGRABBER_DEBUG
This section will guide you through registering RHEL minions with Uyuni.
This section assumes you have updated your server to the latest patch level.
Ensure you have the corresponding Red Hat Enterprise Linux product enabled and required channels have been fully synchronized:
Product: Red Hat Enterprise Linux 7
Mandatory channels: rhel-x86_64-server-7 , res7-suse-manager-tools-x86_64 , res7-x86_64 systemitem>
Product: Red Hat Enterprise Linux 6
Mandatory channels: rhel-x86_64-server-6 , res6-suse-manager-tools-x86_64 , res6-x86_64
To check if a channel has finished synchronizing you can do one of the following:
From the UyuniWeb UI browse to › and select the 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.
The following procedure demonstrate creating a bootstrap repository for RHEL:
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
Rename bootstrap.sh to resversion-boostrap.sh:
{prompt.root}cp bootstrap.sh res7-bootstrap.shThe following procedure will guide you through registering a Salt minion using the bootstrap script.
For your new minion download the bootstrap script from the Uyuni server:
wget --no-check-certificate https://`server`/pub/bootstrap/res7-bootstrap.sh
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/
Make the res7-bootstrap.sh script executable and run it. This will install necessary Salt packages from the bootstrap repository and start the Salt minion service:
{prompt.root}chmod +x res7-bootstrap.sh{prompt.root}./res7-boostrap.shFrom the Uyuni Web UI select › and accept the new minion’s key.
If bootstrapping a minion 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 Section 3.1, “Managing Red Hat Enterprise Linux Clients” on access to RHEL Media.
The following procedure will guide you through the registration of a Salt minion manually.
Add the bootstrap repository:
yum-config-manager --add-repo https://`server`/pub/repositories/res/7/bootstrap
Install the salt-minion package:
{prompt.root}yum install salt-minionEdit the Salt minion configuration file to point to the Uyuni server:
{prompt.root}mkdir /etc/salt/minion.d{prompt.root}echo "master:`server_fqdn`" > /etc/salt/minion.d/susemanager.confStart the minion service:
{prompt.root}systemctl start salt-minionFrom the Uyuni Web UI select the › and accept the new minion’s key.
This following section provides an example procedure for configuring CentOS channels and repositories and finally registering a CentOS client with Uyuni.
These steps will be identical for Scientific Linux and Fedora.
As root install spacewalk-utils on your Uyuni server:
zypper in spacewalk-utils
The spacewalk-utils package contains a collection of upstream command line tools which provide assistance with spacewalk administrative operations.
You will be using the spacewalk-common-channels tool.
Keep in mind SUSE only provides support for spacewalk-clone-by-date and spacewalk-manage-channel-lifecycle tools.
Run the spacewalk-common-channels script to add the CentOS7 base, updates, and Spacewalk client channels.
{prompt.root}spacewalk-common-channels -u admin -p`secret`-a x86_64 'centos7'{prompt.root}spacewalk-common-channels -u admin -p`secret`-a x86_64 'centos7-updates'{prompt.root}spacewalk-common-channels -u admin -p`secret`-a x86_64 'spacewalk26-client-centos7'The /etc/rhn/spacewalk-common-channels.ini must contain the channel references to be added.
If a channel is not listed, check the latest version here for updates: https://github.com/spacewalkproject/spacewalk/tree/master/utils
From the Web UI select › › › . Select the base channel you want to synchronize, in this case CentOS7 (x86_64). Select › . Check the channels you want to synchronize and then click the button or, optionally, schedule a regular synchronization time.
Copy all relevant GPG keys to /srv/www/htdocs/pub. Depending on what distribution you are interested in managing these could include an EPEL key, SUSE keys, Red Hat keys, and CentOS keys. After copying these you can reference them in a comma-delimited list within your bootstrap script (see Procedure: Preparing the Bootstrap Script).
CentOS7 key files: http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
EPEL key file: http://mirrors.kernel.org/fedora-epel/RPM-GPG-KEY-EPEL-7
Spacewalk key: http://spacewalk.redhat.com/yum/RPM-GPG-KEY-spacewalk-2015
Red Hat keys: http://www.redhat.com/contact/security-response-team/gpg-keys.html
Install and setup a CentOS 7 client with the default installation packages.
Ensure the client machine can resolve itself and your Uyuni server via DNS. Validate that there is an entry in /etc/hosts for the real IP address of the client.
Create an activation key (centos7) on the Uyuni server that points to the correct parent/child channels, including the CentOS base repo, updates, and Spacewalk client.
Now prepare the bootstrap script.
Create/edit your bootstrap script to correctly reflect the following:
# can be edited, but probably correct (unless created during initial install): # NOTE: ACTIVATION_KEYS *must* be used to bootstrap a client machine. ACTIVATION_KEYS=1-centos7 ORG_GPG_KEY=res.key,RPM-GPG-KEY-CentOS-7,suse-307E3D54.key,suse-9C800ACA.key,RPM-GPG-KEY-spacewalk-2015 FULLY_UPDATE_THIS_BOX=0 yum clean all # Install the prerequisites yum -y install yum-rhn-plugin rhn-setup
Add the following lines to the bottom of your script, (just before echo “-bootstrap complete -”):
# This section is for commands to be executed after registration mv /etc/yum.repos.d/Cent* /root/ yum clean all chkconfig rhnsd on chkconfig osad on service rhnsd restart service osad restart
Continue by following normal bootstrap procedures to bootstrap the new client.
The following procedure will guide you through registering a CentOS Minion.
CentOS uses patches originating from CentOS is not officially supported by SUSE . See the matrix of Uyuni clients on the main page of the Uyuni wiki, linked from the Quick Links section: https://wiki.microfocus.com/index.php?title=SUSE_Manager
Add the Open Build Service repo for Salt:
{prompt.root}yum-config-manager --add-repo http://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products/RHEL_7/Import the repo key:
{prompt.root}rpm --import http://download.opensuse.org/repositories/systemsmanagement:/saltstack:/products/RHEL_7/repodata/repomd.xml.keyCheck if there is a different repository that contains Salt. If there is more than one repository listed disable the repository that contains Salt apart from the OBS one.
{prompt.root}yum list --showduplicates saltInstall the Salt minion:
{prompt.root}yum install salt salt-minionChange the Salt configuration to point to the Uyuni server:
{prompt.root}mkdir -p /etc/salt/minion.d{prompt.root}echo "master:`server_fqdn`" > /etc/salt/minion.d/susemanager.confRestart the minion
{prompt.root}systemctl restart salt-minionProceed to › › from the Web UI and accept the minion’s key.