Migrate traditional clients to Salt clients

To migrate a system from a traditional client to a Salt, user can create the Salt bootstrap script and re-register the client system with it.

This could be done with three procedures: * create a bootstrap script, * modify the bootstrap script, and * run the bootstrap script to register the client.

1. Create bootstrap script

First you create a bootstrap script with the Web UI as a template.

Procedure: Creating a bootstrap script
  1. In the Uyuni Web UI, navigate to Admin  Manager Configuration  Bootstrap Script.

  2. In the SUSE Manager Configuration - Bootstrap dialog, verify that the Bootstrap using Salt checkbox is checked.

  3. The required fields are pre-populated with values derived from previous installation steps. For details on each setting, see Bootstrap Script.

  4. Click Update to create the script.

  5. The bootstrap script is generated and stored on the server in the /srv/www/htdocs/pub/bootstrap directory. Alternatively, you can access the bootstrap script over HTTPS. Replace <example.com> with the host name of your Uyuni Server:


2. Modify bootstrap script

In the next step, you modify the bootstrap script as needed. It is important that you set your activation key. Navigate to Home  Overview. In the Tasks box, click Manage Activation Keys. All keys created for channels are listed on this page. Enter the full name of the key you wish to use in the bootstrap script exactly as presented in the key field. For more information about activation keys, see Activation Keys.

Procedure: Modifying a bootstrap script
  1. On your Uyuni Server, as root at the command line change to the bootstrap directory with:

    cd /srv/www/htdocs/pub/bootstrap/
  2. Create a copy of the template bootstrap script for use with each of your clients.

    cp bootstrap.sh bootstrap-migrate-to-salt.sh
  3. Open bootstrap-migrate-to-salt.sh for modification. Scroll down until you can see the text shown below. If exit 1 exists in the file, comment it out by typing a hash or pound sign (#) at the beginning of the line. This activates the script. Enter the name of the key for this script in the ACTIVATION_KEYS= field:

    echo "Enable this script: comment (with #'s) this block (or, at least just"
    echo "the exit below)"
    #exit 1
    # can be edited, but probably correct (unless created during initial install):
    # NOTE: ACTIVATION_KEYS *must* be used to bootstrap a client machine.
  4. When you have finished, save the file.

By default, the bootstrap script will try to install venv-salt-minion for Salt clients if it is available in the bootstrap repository, or salt-minion if there is no Salt bundle in the bootstrap repository. It is posible to avoid installing Salt bundle and keep using salt-minion if you need it.

For more information, see Salt Bundle.

3. Run bootstrap script

As the final step, run the bootstrap script to migrate and register clients.

Procedure: Running the bootstrap script
  1. On the Uyuni Server, log in as root. At the command prompt, change to the bootstrap directory:

    cd /srv/www/htdocs/pub/bootstrap/
  2. Run the following command to execute the bootstrap script on the client. Replace EXAMPLE.COM with the hostname of your client:

    cat bootstrap-migrate-to-salt.sh | ssh root@EXAMPLE.COM /bin/bash
  3. Alternatively, on the client, run the command:

    curl -Sks https://server_hostname/pub/bootstrap/bootstrap-migrate-to-salt.sh | /bin/bash

    The script downloads the required dependencies.

  4. When the script has finished running, you can check that your client is registered correctly by opening the Uyuni Web UI and navigating to Systems  Overview to ensure the new client is listed.

  5. In case of trouble with registering the new Salt client, open the Uyuni Web UI and navigate to Salt  Keys to accept the client key.

When new packages or updates are installed on the client using Uyuni, any end user license agreements (EULAs) are automatically accepted. To review a package EULA, open the package detail page in the Web UI.

For more information about using bootstrap scripts, see Register Clients with a Bootstrap Script.