Registering Ubuntu Clients

This section contains information about registering Salt clients running Ubuntu operating systems.

SUSE Manager supports Ubuntu 16.04 LTS and 18.04 LTS Clients using Salt. Traditional clients are not supported.

Canonical does not endorse or support SUSE Manager.

Bootstrapping is supported for starting Ubuntu clients and performing initial state runs such as setting repositories and performing profile updates. However, the root user on Ubuntu is disabled by default, so to use bootstrapping, you will require an existing user with sudo privileges for Python.

Prepare to Register

Some preparation is required before you can register Ubuntu clients to the SUSE Manager Server.

Procedure: Adding client tools channels

Before you begin, ensure you have the Ubuntu product enabled, and have synchronized the Ubuntu channels for SUSE Customer Center:

You can do this from Web UI or using command prompt, at your choice.

For Ubuntu 16.04:

  • From the Web UI, add Ubuntu 16.04 and SUSE Linux Enterprise Client Tools Ubuntu 1604 amd64.

  • From the command prompt, add ubuntu-16.04-pool-amd64 and ubuntu-16.04-suse-manager-tools-amd64.

For Ubuntu 18.04:

  • From the Web UI, add Ubuntu 18.04 and SUSE Linux Enterprise Client Tools Ubuntu 1804 amd64.

  • From the command prompt, add ubuntu-18.04-pool-amd64 and ubuntu-18.04-suse-manager-tools-amd64.

The mandatory channels do not contain Ubuntu upstream packages. The repositories and channels for synchronizing upstream content must be configured manually.

In the SUSE Manager Web UI, navigate to Software  Channel List  All. Verify that you have a base channel and a child channel for your architecture.

For example, for Ubuntu 18.04:

  • Base channel: ubuntu-18.04-pool for amd64

  • Child channel: Ubuntu-18.04-SUSE-Manager-Tools for amd64

Procedure: Creating Custom Channels and Repositories

You need to manually create three repositories:

  • For main

  • For main updates

  • For main security

These examples are for Ubuntu 18.04 (bionic). Make sure you change the values to match the Ubuntu version you want to use. You will also need to replace ubuntumirror.example.com with a valid mirror.

  1. On the SUSE Manager Server Web UI, navigate to Software  Manage  Repositories.

  2. Click Create Repository and set these parameters for the main repository:

  3. Click Create Repository

  4. Navigate to Software  Manage  Repositories.

  5. Click Create Repository and set these parameters for the main-updates repository:

  6. Click Create Repository.

  7. Navigate to Software  Manage  Repositories.

  8. Click Create Repository and set these parameters for the main-security repository:

  9. Click Create Repository.

When you have created the repositories, you can create the custom channels, one for each repository:

  1. On the SUSE Manager Server Web UI, navigate to Software  Manage  Channels.

  2. Click Create Channel and set these parameters for the entitlement certificate.

    • In the Channel Name field, type Ubuntu 18.04 LTS AMD64 Main.

    • In the Channel Label field, type ubuntu-1804-amd64-main.

    • In the Parent Channel field, select ubuntu-18.04-pool for amd64.

    • In the Architecture field, select AMD64 Debian.

    • In the Repository Checksum Type field, select sha1.

    • In the Channel Summary field, type Ubuntu 18.04 LTS AMD64 Main.

    • In the Organization Sharing field, select Public.

  3. Click Create Channel.

  4. Navigate to Software  Manage  Channels.

  5. Click Create Channel and set these parameters for the entitlement certificate.

    • In the Channel Name field, type Ubuntu 18.04 LTS AMD64 Main Updates.

    • In the Channel Label field, type ubuntu-1804-amd64-main-updates.

    • In the Parent Channel field, select ubuntu-18.04-pool for amd64.

    • In the Architecture field, select AMD64 Debian.

    • In the Repository Checksum Type field, select sha1.

    • In the Channel Summary field, type Ubuntu 18.04 LTS AMD64 Main Updates.

    • In the Organization Sharing field, select Public.

  6. Click Create Channel.

  7. Navigate to Software  Manage  Channels.

  8. Click Create Channel and set these parameters for the entitlement certificate.

    • In the Channel Name field, type Ubuntu 18.04 LTS AMD64 Main Security.

    • In the Channel Label field, type ubuntu-1804-amd64-main-security.

    • In the Parent Channel field, select ubuntu-18.04-pool for amd64.

    • In the Architecture field, select AMD64 Debian.

    • In the Repository Checksum Type field, select sha1.

    • In the Channel Summary field, type Ubuntu 18.04 LTS AMD64 Main Security.

    • In the Organization Sharing field, select Public.

  9. Click Create Channel.

Your custom channels should use this structure, at Software  Channel List  All (example for Ubuntu 18.04:

  • Base channel (vendor): ubuntu-18.04-pool for amd64

  • Child custom channel: Ubuntu 18.04 LTS AMD64 Main

  • Child custom channel: Ubuntu 18.04 LTS AMD64 Main Updates

  • Child custom channel: Ubuntu 18.04 LTS AMD64 Main Security

  • Child vendor channel: Ubuntu-18.04-SUSE-Manager-Tools for amd64

When you have the channels set up, associate each channel with the appropriate repository, and synchronize then channels (optionally configure scheduled syncronization).

To do this, proceed to Software  Manage  Channels, and for each channel you created, click on it and:

  1. Navigate to the Repositories

  2. Navigate to the Syncand click Sync Now to begin synchronization immediately.

  3. You can also setup a scheduled syncronization from this screen.

You need all the new channels fully synchronized before bootstrapping any Ubuntu client.

Procedure: Alternative Method for Adding Ubuntu Channels and Repositories (Unsupported)

.

The spacewalk-utils package is not supported by SUSE, including the spacewalk-common-channels tool. You will not be supported if your system becomes inoperable by using these tools.

  1. At the command prompt on the SUSE Manager Server, as root, install the spacewalk-utils package:

    zypper in spacewalk-utils
  2. Add the Ubuntu channels.

For Ubuntu 16.04:

spacewalk-common-channels \
ubuntu-1604-amd64-main \
ubuntu-1604-amd64-main-updates \
ubuntu-1604-amd64-main-security

For Ubuntu 18.04:

spacewalk-common-channels \
ubuntu-1804-amd64-main \
ubuntu-1804-amd64-main-updates \
ubuntu-1804-amd64-main-security

When you have the channels set up, associate each channel with the appropriate repository, and synchronize them. You can also configure a synchronization schedule.

To manually synchronize the channels, navigate to Software  Manage  Channels. Click each channel in the list, and:

  1. Navigate to the Repositories tab.

  2. Navigate to the Sync subtab.

  3. Click Sync Now to begin synchronization immediately.

  4. You can also create a synchronization schedule from this screen.

Ubuntu channels can be very large. Synchronization can sometimes take several hours.

When you have the channels set up, associate each channel with the appropriate repository, and synchronize then channels (optionally configure scheduled syncronization).

To do this, proceed to Software  Manage  Channels, and for each channel you created, click on it and:

  1. Navigate to the Repositories

  2. Navigate to the Syncand click Sync Now to begin synchronization immediately.

  3. You can also setup a scheduled syncronization from this screen.

Monitor Synchronization Progress

There are two ways to check if a channel has finished synchronizing:

  • In the SUSE Manager Web UI, navigate to Admin  Setup Wizard and select the SUSE Products tab.

    This dialog displays a completion bar for each product when they are being synchronized.

  • Check the synchronization log file at the command prompt with tail -f /var/log/rhn/reposync/channel-label.log.

    Each child channel will generate its own log during the synchronization progress.

You will need to check all the base and child channel log files to be sure that the synchronization is complete.

Root Access

The root user on Ubuntu is disabled by default. You can enable it by editing the sudoers file.

Procedure: Granting Root User Access
  1. On the client, edit the sudoers file:

    sudo visudo

    Grant sudo access to the user by adding this line to the sudoers file. Replace <user> with the name of the user that will be used to bootstrap the client in the Web UI:

    <user>  ALL=NOPASSWD: /usr/bin/python, /usr/bin/python2, /usr/bin/python3

This procedure grants root access without requiring a password, which is required for registering the client. When the client is successfully installed it will run with root privileges, so the access is no longer required. We recommend that you remove the line from the sudoers file after the client has been successfully installed.

Register Clients

  1. To register your Ubuntu clients, you will need a bootstrap repository. Create the bootstrap repository at the command prompt, with this command:

    mgr-create-bootstrap-repo --with-custom-channels

For more information on registering your clients, see client-configuration:registration-overview.adoc.