Bootstrap salt minions with bootstrap scripts
Since SUMA 3.0.2, you can create salt-specific bootstrap scripts that can be incorporated into your onboarding or build processes. While there are other ways to onboard a salt minion, this method provides consistency and scalability.
Apply the latest updates to SUSE Manager 3, minimum update required is version 3.0.2.
Make sure you have the corresponding product enabled and the channels synced. This must be completed before creating the bootstrap repositories. For example:
- SLES11 SP4 x86_64
- - Product: SUSE Linux Enterprise Server 11 SP4 (x86_64)
- - Mandatory channels: sles11-sp4-pool-x86_64, sles11-sp4-suse-manager-tools-x86_64, sles11-sp4-updates-x86_64
In order to check if the channels have finished syncing:
- Go to "Admin -> Setup Wizard" and look under tab "SUSE Products" You will see a Green indicator and the last sync time for completed products.
- Go to Channels, and select the channel in question. Under "Basic Information", the "Last Modified" and "Last Repo Build" date/time stamps should agree, and the "Repo Cache Status" must be "Completed"
- Optionally check the sync log file under /var/log/rhn/reposync/<channel-label>.log
On the server, create a bootstrap repository for each distribution/architecture with
Ensure that this script finishes properly, and if not, re-check the channel sync. You can optionally include all the channels under the parent with this command option -
You can safely re-run this command at any time, and you SHOULD whenever a new version of salt-minion is released, and your tools channel gets updated. The repositories are created under
, and are meant to be used in the registration/bootstrap process only.
Minion Registration using a bootstrap script
1. If needed, regenerate the bootstrap script on the server with the Salt option enabled
mgr-bootstrap --salt --script=bootstrap-salt.sh --ssl-cert=RHN-ORG-TRUSTED-SSL-CERT
This places the script in /srv/www/htdocs/pub/bootstrap by default.
2. Copy this for your specific use case, editing the script to reflect the correct activation key, and any other relevant content. Here are some examples of changes:
a. Add an activation key reference like this:
b. Comment out the removal of the certificate to prevent repository issues. Search for this section and ensure it looks like this:
#echo "* removing TLS certificate used for bootstrap" #echo " (will be re-added via salt state)" #removeTLSCertificate
This prevents interference in some cases with proper channel certification.
3. Download and run the appropriately edited bootstrap script after completing the edits. The bootstrap script validates installation of the necessary Salt packages, sets the proper activation key, and starts the salt-minion service.
curl -Sks http://<server FQDN>/pub/bootstrap/bootstrap-salt.sh | /bin/bash
The script also creates a file on the minion: /etc/salt/minion.d/susemanager.conf with content that looks like this:
master: <server FQDN> grains: susemanager: activation_key: "1-11sp4-x86_64"
4. Go to the Server web UI to Salt -> Onboarding and accept the minion's key. After a few minutes, the new minion will appear in your list of systems with the channels assigned in the activation key you specified in the bootstrap process.