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. 在 SUSE Manager Web UI 中,导航到管理  管理器配置  引导脚本

  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 引导脚本.

  4. 单击 更新 创建脚本。

  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 SUSE Manager Server:

    https://<example.com>/pub/bootstrap/bootstrap.sh

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 激活密钥.

Procedure: Modifying a bootstrap script
  1. 在 SUSE Manager 服务器上的命令行中,以 root 身份运行以下命令切换到引导目录:

    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)"
    echo
    #exit 1
    
    # can be edited, but probably correct (unless created during initial install):
    # NOTE: ACTIVATION_KEYS *must* be used to bootstrap a client machine.
    ACTIVATION_KEYS=1-migrate-salt
    ORG_GPG_KEY=
  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.

有关详细信息,请参见 Salt 捆绑包

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 SUSE Manager 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. 当脚本运行完后,您可以打开 SUSE Manager Web UI 并导航到系统  概览确定新客户端是否列出,以检查客户端是否已正确注册。

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

使用 SUSE Manager 在客户端上安装新的软件包或更新时,会自动接受所有最终用户许可协议 (EULA)。要查看软件包 EULA,请打开 Web UI 中的软件包细节页面。

For more information about using bootstrap scripts, see 使用引导脚本注册客户端.