Retail Uyuni Branch Server

This section covers Uyuni for Retail Branch Server installation and setup, using these procedures:

  • Add Software Channels

  • Check Synchronization Status

  • Trust GPG Keys on Clients

  • Register the Branch Server and Terminals as Clients

The Uyuni for Retail Branch Server is a Uyuni Proxy with additional Retail features. For proxy installation procedures, see Containerized Uyuni Proxy Setup.

Then continue with the following sections.

1. Add Software Channels

Before you register Uyuni branch servers and terminals to your Uyuni Server, check that you have the openSUSE product enabled, and the required channels are fully synchronized.

The products you need for this procedure are:

Table 1. openSUSE Channels - CLI
OS Version openSUSE Leap 15.4

Base Channel

opensuse_leap15_4

Client Channel

opensuse_leap15_4-uyuni-client

Updates Channel

opensuse_leap15_4-updates

Non-OSS Channel

opensuse_leap15_4-non-oss

Non-OSS Updates Channel

opensuse_leap15_4-non-oss-updates

Backports Updates Channel

opensuse_leap15_4-backports-updates

SLE Updates Channel

opensuse_leap15_4-sle-updates

Procedure: Adding Software Channels at the Command Prompt
  1. At the command prompt on the Uyuni Server, as root, use the spacewalk-common-channels command to add the appropriate channels:

    spacewalk-common-channels \
    <base_channel_name> \
    <child_channel_name_1> \
    <child_channel_name_2> \
    ... <child_channel_name_n>
  2. Synchronize the channels:

    mgr-sync refresh --refresh-channels

2. Check Synchronization Status

Procedure: Checking Synchronization Progress
  1. In the Uyuni Web UI, navigate to Software  Manage  Channels, then click the channel associated to the repository.

  2. Navigate to the Repositories tab, then click Sync and check Sync Status.

Procedure: Checking Synchronization Progress from the Command Prompt
  1. At the command prompt on the Uyuni Server, as root, use the tail command to check the synchronization log file:

    tail -f /var/log/rhn/reposync/<channel-label>.log
  2. Each child channel generates its own log during the synchronization progress. You will need to check all the base and child channel log files to be sure that the synchronization is complete.

openSUSE channels can be very large. Synchronization can sometimes take several hours.

3. Trust GPG Keys on Clients

By default, some operating systems do not trust the GPG key for the Uyuni client tools. The clients can be successfully bootstrapped without the GPG key being trusted. However, you will not be able to install new client tool packages or update them until the keys are trusted.

Procedure: Trusting GPG Keys on Clients
  1. On the Uyuni Server, at the command prompt, check the contents of the /srv/www/htdocs/pub/ directory. This directory contains all available public keys. Take a note of the key that applies to the client you are registering.

  2. Open the relevant bootstrap script, locate the ORG_GPG_KEY= parameter and add the required key. You do not need to delete any previously stored keys. For example:

    uyuni-gpg-pubkey-0d20833e.key
  3. If you are bootstrapping clients from the Uyuni Web UI, you will need to use a Salt state to trust the key. Create the Salt state and assign it to the organization. You can then use an activation key and configuration channels to deploy the key to the clients.

4. Create Activation Key for a Branch Server and the Retail Terminal Images

The branch server is based on the Uyuni Proxy. Its activation key must contain these child channels:

  • openSUSE Leap 15.5 Updates (x86_64)

  • Uyuni Client Tools for openSUSE Leap 15.5 (x86_64)

  • Uyuni Proxy Stable for openSUSE Leap 15.5 (x86_64)

The activation key for retail terminal images based on openSUSE Leap 15.5 must contain these child channels:

  • openSUSE Leap 15.5 Updates (x86_64)

  • Uyuni Client Tools for openSUSE Leap 15.5 (x86_64)

For more information about creating activation keys, see Activation Keys.

5. Register the Branch Server and Terminals as Clients

You register both the branch server and the terminals as openSUSE clients. To register your openSUSE clients, you need a bootstrap repository. By default, bootstrap repositories are automatically created, and regenerated daily for all synchronized products. You can manually create the bootstrap repository from the command prompt, using this command:

mgr-create-bootstrap-repo --with-custom-channels

For more information on registering your clients, see Client Registration.

5.1. Register the Branch Server

A retail branch server is registered as an openSUSE proxy. The proxy can be bootstrapped using the Web UI, or at the command prompt. Ensure you use the activation key you created for the proxy.

Procedure: Setting Up the Uyuni Proxy
  1. Check that the Uyuni Proxy Stable for openSUSE Leap 15.5 (x86_64) channel is assigned to the proxy on the system profile page.

  2. At the command prompt on the proxy, as root, install the proxy pattern:

    zypper in -t pattern uyuni_proxy
  3. Finalize the proxy setup:

    configure-proxy.sh
    [command]``configure-proxy.sh`` is an interactive script.
  4. OPTIONAL: If you want to use the same system also as a build host, navigate to the client’s system profile and check OS Image Build Host as a Add-On System Types.

  5. Configure the proxy to become a branch server. On the Uyuni for Retail Server, for example, run:

    retail_branch_init <branch_server_minion_id> --dedicated-nic eth1 \
        --branch-ip 192.168.7.5 \
        --netmask 255.255.255.0 \
        --dyn-range 192.168.7.100 192.168.7.200 \
        --server-domain branch.example.org \
        --branch-prefix uyuni
    For additional options,  use the [command]``retail_branch_init --help`` command.