Bootstrap Repository

A bootstrap repository contains packages for installing Salt on clients, as well as the required packages for registering Salt or traditional clients during bootstrapping. Bootstrap repositories are automatically created and regenerated on the Uyuni Server for every synchronized product.

Prepare to Create a Bootstrap Repository

When you select a product for synchronization, the bootstrap repository is automatically created as soon as all mandatory channels are fully mirrored.

There are two ways to check if a channel has finished synchronizing:

  • In the Uyuni Web UI, navigate to Admin  Setup Wizard and select the SUSE Products tab. This dialog displays a completion bar for each product when they are being synchronized. Some products also require extensions to be synchronized.

  • You can also check the synchronization log file at the command prompt. Use the cat or tail -f command to view the /var/log/rhn/reposync/channel-label.log file. If you use this method, remember that base channels can contain multiple child channels. Each of the child channels will generate 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.

Options for Automatic Mode

You can change how the automated bootstrap repository creation works. This section details the various settings.

Flush Mode

By default, every regeneration starts with an empty repository and copies only the latest packages into it. To disable this behavior, add or edit this value in /etc/rhn/rhn.conf:

server.susemanager.bootstrap_repo_flush = 0
Automatic Mode

By default, automated regeneration of the bootstrap repositories is enabled. To disable it, add or edit this value in /etc/rhn/rhn.conf:

server.susemanager.auto_generate_bootstrap_repo = 0

Configure Bootstrap Data File

The tool uses a data file with information about which packages are required for each distribution. The data file is stored at /usr/share/susemanager/mgr_bootstrap_data.py. SUSE updates this file regularly. If you want to makes changes to this file, do not edit it directly. Instead, create a copy in the same directory and edit your copy:

cd /usr/share/susemanager/
cp mgr_bootstrap_data.py my_data.py

When you have made your changes, configure Uyuni to use the new file. Add or edit this value in /etc/rhn/rhn.conf:

server.susemanager.bootstrap_repo_datamodule = my_data

On the next update, the new data from SUSE will overwrite the original data file, not the new one. You will need to keep the new file up to date with changes provided by SUSE.

Manually Generate a Bootstrap Repository

By default, bootstrap repositories are regenerated daily. You can manually create the bootstrap repository from the command prompt:

Procedure: Generating the Bootstrap Repository for SUSE Linux Enterprise
  1. At the command prompt on the Uyuni Server, as root, list the available bootstrap repositories:

    mgr-create-bootstrap-repo -l
  2. Create the bootstrap repository, using the appropriate repository name as the product label:

    mgr-create-bootstrap-repo -c SLE-version-x86_64

The client repository is located in /srv/www/htdocs/pub/repositories/.

Procedure: Specifying a Parent Channel for a Bootstrap Repository

If you have mirrored more than one product (for example, SLES and SLES for SAP), or if you use custom channels, you need to specify the parent channel to use when creating the bootstrap repository.

  1. Check which parent channels you have available:

    mgr-create-bootstrap-repo -c SLE-15-x86_64
    Multiple options for parent channel found. Please use option
    --with-parent-channel <label> and choose one of:
    - sle-product-sles15-pool-x86_64
    - sle-product-sles_sap15-pool-x86_64
    - sle-product-sled15-pool-x86_64
  2. Specify the appropriate parent channel:

    mgr-create-bootstrap-repo -c SLE-15-x86_64 --with-parent-channel sle-product-sled15-pool-x86_64

Bootstrap and Custom Channels

If you are using custom channels, you can use the --with-custom-channels option with the mgr-create-bootstrap-repo command. In this case, you will also need to specify the parent channel to use.

Automatic creation of a bootstrap repository might fail if you are using custom channels. In this case, you will need to create the repository manually.

For more information about custom channels, see administration:custom-channels.adoc.