Liberate Formula

The liberate formula migrates systems from EL clients such as AlmaLinux, CentOS 7, Oracle Linux 9, Rocky Linux 9, or even Red Hat Enterprise Linux 9 to SUSE Liberty Linux. With this formula the conversion will take place during the client onboarding on SUSE Manager.

1. Install the formula

Install the formula with:

zypper in liberate-formula`

2. Configure SUSE Manager

To provide all the software channels for SUSE Liberty Linux on the SUSE Manager Server, proceed as follows.

Procedure: Providing SUSE Customer Center credentials
  1. Sign in to SUSE Customer Center at https://scc.suse.com.

  2. Navigate to My Organization, and select your organization.

  3. Navigate to Users  Organization Credentials and take note of your organization username and password.

  4. In the SUSE Manager Web UI, navigate to Admin  Setup Wizard  Organization Credentials to add the credentials to your SUSE Manager Server.

  5. Click Add new credential, and enter the SUSE Customer Center username and password noted in a previous step.

Procedure: Synchronizing the SLL/SLES-ES channels:
  1. In the SUSE Manager Web UI, navigate to Admin  Setup Wizard  Products

  2. Select the SUSE Liberty Linux Channels that you will use:

    • EL7: SUSE Linux Enterprise Server with Expanded Support 7 x86_64

    • EL8: RHEL or SLES ES or CentOS 8 Base

    • EL9: RHEL and Liberty 9 Base

  3. Click the top right button Add products.

Initial sychronization can take considerable time. You can check progress by accessing the server machine via SSH and monitoring the logs using:

tail -f /var/log/rhn/reposync/*
Procedure: Creating one Activation Key per SUSE Liberty Linux parent channel
  1. Note: Activation Keys are the way to register systems and automatically assign them to the required software and configuration channels corresponding to them.

  2. In the SUSE Manager Web UI, navigate to Systems  Activation Keys, and click the top right button Create key.

  3. In the Activation Key dialog, set the fields:

    Description

    Enter some text describing the activation key.

    Key

    Enter the identifier of the key. For example [literalsll9-default for EL 9 systems. Note: Keys will have a numeric prefix depending on the organization, so that they are unique.

    Usage

    Leave blank.

    Base Channel

    Select one base channel:

    • EL7: RHEL x86_64 Server 7

    • EL8: RHEL8-Pool for x86_64

    • EL9: EL9-Pool for x86_64

    Child Channel

    Include all child channels.

    Add-On system type

    Leave all blank.

    Contact Method

    Default

    Universal Default

    Leave unchecked.

  4. Click Create Activation Key.

3. Add Liberate formula and assign it to activation keys

When installed, the formula can be assigned to an Activation Key by creating a System Group:

Procedure: Assigning system group and assigning liberate formula
  1. In the SUSE Manager Web UI, navigate to Systems  System Groups, and click the Create Group button in top right corner.

  2. In the dialog, fill in the following data:

    Name

    liberate

    Description

    Systems to be converted to SUSE Liberty Linux

  3. From the liberate System Group page, navigate go to the Formulas tab.

  4. Select the Liberate formula, and click Save. A new tab called Liberate will appear.

  5. On the Liberate tab, you see the Reinstall all packages after conversion option. Keep it checked if you want to reinstall all the packages during the migration. This way you ensure all the packages will have SUSE signatures and no previous package will be kept. If you do not want to change the state of your system during the migration, uncheck this option and click the Save Formula button. In this case, you can re-install the packages later.

Now a system group exists that has assigned the Liberate formula. This formula will be applied only once to migrate the system to SUSE Liberty Linux, even if you run it multiple times. With the next procedure, assign the system group to the Activation Key.

Procedure: Assigning the system group to the Activation Key
  1. In the SUSE Manager Web UI, navigate to Systems  Activation Keys.

  2. Select the Activation Key, for example sll9-default for the EL 9 systems.

  3. From the Activation Key page navigate to the Groups  Join tab, select the liberate group, and click the Join Selected Groups button. The group will be assigned to the Activation Key

Procedure: Applying migrate directly during registration
  1. From the Activation Key page, navigate to the Details tab.

  2. Navigate to the Configuration File Deployment section, and checkb the Deploy configuration files to systems on registrationoption.

  3. Click Update Activation Key.

When you register a system with this key it will perform the migration automatically.

4. Register a new system and proceed to the migration

There are two ways to onboard (or register) a new client with the Activation Key:

With the Web UI and selecting the activation key

This is intended for a one-off registration or for testing purposes.

With a bootstrap script with an assigned activation key

This is intended to be used for mass registration.

4.1. Register with the Web UI

Technically, this will start an SSH connection to the client and run the bootstrap script to register it.

Procedure: Registering with the Web UI and selecting the activation key
  1. In the SUSE Manager Web UI, navigate to Systems  Bootstraping.

  2. In the Bootstrap Minions dialog, fill the entries:

    Host

    Hostname of the client to register

    SSH Port

    Leave blank to use default, which is 22

    User

    Enter user or leave blank for root

    Authentication Method

    Select if you want to use password or provide a SSH Private Key

    • Password: password to access the system

    • SSH Private Key: file with the private key

    • SSH Private Key Passphrase: In case a private key was provided that requires a passphrase to unlock, provide it here

    Activation Key

    Select from the menu the activation key to be used, for example sll9-default

    Reactivation Key

    Leave blank, it will not be used here

    Proxy

    Leave as None if you are not using a proxy

  3. Click the Bootstrap button to start the registration.

A notification will show on top of the page stating that the client is being registered.

4.2. Register with a bootstrap script

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

  2. Fill the fields of the bootstrap script configuration dialog:

    Uyuni/SUSE Manager server hostname

    This should be set to the hostname that the client will use to reach the server, as well as the hostname Note: a Certificate will be used associated to this name for the client systems, as it was configured in the initial setup. If it’s changed, a new certificate shall be created

    SSL cert location

    Path, in the server, to the filename provided as a certificate to register it. Keep it as it is.

    Bootstrap using Salt

    Select this checkbox to apply salt states, like the one we added via configuration channel. It is required to perform the migration.

    Enable Client GPG checking

    Select this checkbox to ensure all packages installed come from the proper sources, in this case, SUSE Liberty Linux signed packages.

    Enable Remote Configuration

    Leave unchecked.

    Enable Remote Commands

    Leave unchecked.

    Client HTTP Proxy

    Leave blank. This is in case the client requires a proxy to access the server.

    Client HTTP Proxy username

    Leave blank.

    Client HTTP Proxy password

    Leave blank.

  3. Click the Update button to refresh the bootstrap.sh script.

The bootstrap script generated is reachable via HTTP. For example, for a server named example.org it will be at https://example.org/pub/bootstrap/. Accessing the server via SSH, the bootstrap script is available in /srv/www/htdocs/pub/bootstrap/.

Procedure: Modifying and running the bootstrap script
  1. Make a copy of the bootstrap script generated on the server in /srv/www/htdocs/pub/bootstrap/. For example:

    cd /srv/www/htdocs/pub/bootstrap/
    cp bootstrap.sh bootstrap-sll9.sh
  2. Edit bootstrap-sll9.sh, and add the activation key created earlier. For example, sll9-default:

    ACTIVATION_KEYS=sll9-default
  3. Run the modified bootstrap-sll9.sh script. On the client, as root, run:

    curl -Sks https://example.org/pub/bootstrap/bootstrap-sll9.sh | /bin/bash
    For more information about running bootstrap scripts, see xref:client-configuration:registration-bootstrap.adoc#registering.clients.bootstrap.register[].
  4. Apply highstate to migrate the client to SUSE Liberty Linux.

5. For already registered clients

Software channels, system group membership, and formulas can be assigned to any already registered client. This method makes use of the bootstrap script created above for onboarding new systems.

  1. In the SUSE Manager Web UI, open the System Details page of any registered client you want to migrate to SUSE Liberty Linux.

  2. Click the Reactivation tab. If there is already a key listed, you can use it. If not, click Generate New Key, and copy the entire key. The key will start with [literal]re-`.

  3. SSH into this client and set the environmant variable to be the key that you copied:

export REACTIVATION_KEY=re-xxxxxxxxxxxxxx
  1. Run the bootstrap script you created above, and the system will re-register using the same profile as before, but with the newly assigned SUSE Liberty Linux context.