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.
When you select a product for synchronization, the bootstrap repository is automatically created as soon as all mandatory channels are fully mirrored.
In the Uyuni Web UI, navigate to, then click the channel associated to the repository.
Navigate to the
Repositoriestab, then click
At the command prompt on the Uyuni Server, as root, use the
tailcommand to check the synchronization log file:
tail -f /var/log/rhn/reposync/<channel-label>.log
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.
You can change how the automated bootstrap repository creation works. This section details the various settings.
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
server.susemanager.bootstrap_repo_flush = 0
Alternatively, you can use the
--no-flush option when you create the bootstrap repository from the command prompt.
By default, automated regeneration of the bootstrap repositories is enabled.
To disable it, add or edit this value in
server.susemanager.auto_generate_bootstrap_repo = 0
The tool uses a data file with information about which packages are required for each distribution.
The data file is stored at
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
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.
By default, bootstrap repositories are regenerated daily. You can manually create the bootstrap repository from the command prompt:
At the command prompt on the Uyuni Server, as root, list the available bootstrap repositories:
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
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.
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
Specify the appropriate parent channel:
mgr-create-bootstrap-repo -c SLE-15-x86_64 --with-parent-channel sle-product-sled15-pool-x86_64
If you are creating bootstrap repositories that include multiple different architectures, you need to be careful that all architectures are updated correctly.
For example, the x86-64 and IBM Z architectures for SLE use the same bootstrap repository URL at
flush option is enabled by default, when you attempt to generate the bootstrap repository for multiple architectures, only one architecture would be generated.
To avoid this, use the
--no-flush option at the command prompt when creating additional architectures.
mgr-create-bootstrap-repo -c SLE-15-SP1-x86_64 mgr-create-bootstrap-repo --no-flush -c SLE-15-SP1-s390x
If you are using custom channels, you can use the
--with-custom-channels option with the
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 Custom Channels.