Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
documentation.suse.com / SUSE Linux Enterprise Server Documentation / RMT Guide / Migrate from SMT to RMT
Applies to SUSE Linux Enterprise Server 15 SP4

3 Migrate from SMT to RMT

This chapter describes the migration from SMT on SLES 11 or 12 to RMT on SLES 15.

3.1 Important notes

Warning
Warning: Read this section carefully

Carefully read this section. It contains vital information about the migration process.

Use a new host

We recommend that you install RMT on a newly-installed SLES 15 host. RMT is not a complete replacement for SMT. It has a different workflow than SMT and only supports registering SUSE Linux Enterprise Server 12 systems and newer.

Repository metadata and settings

The settings of staged repositories will not be exported from SMT. Repositories that have been marked to be mirrored will be exported.

Custom repositories

It is only possible to export repositories that are marked for mirroring.

Expired subscriptions

Products no longer available on the organization subscriptions will not be available on RMT.

Client information

Systems and their activated products will be exported. SMT client jobs and patch status will not be exported from SMT.

Table 3.1: Feature comparison

Feature

SMT

RMT

Available on SLES 11

yes

no

Available on SLES 12

yes

no

Available on SLES 15

no

yes

Synchronize products with SUSE Customer Center

yes

yes

Mirror RPMs from repositories

yes

yes

Selective mirroring (specifying products to mirror)

yes

yes

Serve RPMs via HTTP

yes

yes

Registration of SLE 15 systems

yes

yes

Registration of SLE 12 systems

yes

yes

Registration of SLE 11 systems

yes

no

Red Hat 6 and earlier support

yes 1

no

Red Hat 7+ support

yes 1

yes 1

Support for migrating SLE 12 to 15

yes 2

yes

Support for migrating SLE 15 SPx to 15 SPx+1

yes 2

yes

Staging repositories

yes

no 3

Offline mirroring

yes

yes

NTLM Proxy support

yes

yes

Custom repositories

yes

yes

YaST installation wizard

yes

yes

YaST management wizard

yes

no

Client management

yes

no

Files deduplication

yes

yes

Data transfer from SMT to RMT

n/a

yes

Transfer registration data to SUSE Customer Center

yes

yes

Reporting

yes

no

Custom TLS certificates for Web server

yes

yes

Clean up data from repositories that are not used any longer

yes

yes

Bash completion

no

yes

Available on openSUSE Leap 15

no

yes 4

Easy development setup + contribution guide

no

yes

100% test coverage

no

yes

Plugin functionality

no

yes

Web server

Apache2

Nginx

Platform

Perl

Ruby

Clean up data from repositories that are no longer used

yes

yes

Bash completion

no

yes

Option to deploy on Kubernetes

no

yes 5

  1. Support via SUSE Liberty Linux, find more details in https://www.suse.com/products/suse-liberty-linux/.

  2. SMT only partially supports migrating systems to SLE 15. SLE 15 is composed of multiple modules and extensions. Some modules are not required, as they provide additional functionality. RMT fully supports migrations into and within SLE 15, therefore it only adds the minimum of required modules. SMT does not fully support these migrations, and it enables all available modules on the system.

  3. Functionality is offered by SUSE Manager.

  4. Only available with self-support.

  5. Find more details in Section 2.4, “Deploying RMT on top of the Kubernetes cluster”.

3.2 Exporting SMT data

Procedure 3.1: Export SMT data
  1. Update your SMT server installation by running zypper up.

  2. If you want to export your SSL certificates along with the rest of the data, run smt-data-export. Remember to keep your certificates in a safe place.

    If you do not want to export the SSL certificates from SMT, run smt-data-export --no-ssl-export.

  3. The exported configuration is now saved to smt-data-export.TIMESTAMP.tar.gz. Copy the file to a location that can be accessed by the new RMT server.

3.3 Importing SMT data to RMT

  1. To make sure your RMT installation is up to date, run zypper up.

  2. Copy the exported .tar.gz file to an empty directory and unpack it. Then enter the new directory:

    > mkdir EMPTY_DIR
    > cd EMPTY_DIR
    > tar xf /PATH/TO/smt-data-export.TIMESTAMP.tar.gz
    > cd smt-data-export
  3. If you chose to export the SSL certificates from SMT, copy the CA private key and certificate to /etc/rmt/ssl/:

    > sudo cp ssl/cacert.key /etc/rmt/ssl/rmt-ca.key
    > sudo cp ssl/cacert.pem /etc/rmt/ssl/rmt-ca.crt
  4. Run the YaST RMT configuration module as described in Section 2.5, “RMT configuration with YaST”. If you imported the SMT CA certificate, add the domain of the SMT server to the common names of the new SSL certificate.

  5. Run the RMT synchronization to get the products and repositories data from SUSE Customer Center.

    > sudo rmt-cli sync
  6. Import the data from the SMT server.

    > sudo rmt-data-import -d ./
  7. Optional: If the URL of the RMT server changed, change the URL parameter of clients in /etc/SUSEConnect to point to the new RMT server. Alternatively, change the DNS records to re-assign the host name to the RMT server.

  8. Optional: Move the mirrored repository data from SMT to RMT, and adjust the ownership of the copied data.

    > sudo cp -r /var/www/htdocs/repo/* /usr/share/rmt/public/repo/
    > sudo chown -R _rmt:nginx /usr/share/rmt/public/repo
    Tip
    Tip

    The path for storing custom repository data on the RMT server is different from that of SMT. With RMT, it replicates the directory structure of the source server's URL into a top level directory. For example, if the URL of the custom repository is

    http://download.opensuse.org/debug/distribution/leap/15.4/repo/oss

    its path on the RMT server will be

    /usr/share/rmt/public/repo/debug/distribution/leap/15.4/repo/oss
  9. Custom repositories on the SMT server are disabled by default. If you want to mirror them to the RMT, enable them before mirroring.

    1. Check for custom repositories by running:

      > sudo rmt-cli repos custom list

      A table of all custom repositories will be shown. The first column contains the ID of each repository and the Mirror? column will show false.

    2. Enable each custom repository you want to mirror by running:

      > sudo rmt-cli repos custom enable ID
  10. Update the packages in the repositories by starting the mirroring process:

    > sudo rmt-cli mirror