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.

Supported features:

  • Bootstrapping

  • Synchronizing .deb channels

  • Assigning .deb channels to clients

  • GPG signing .deb repositories

  • Information displayed in System details pages

  • Package install, update, and remove

  • Package install using Package States

  • Configuration and state channels

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 in order to use bootstrapping, you will require an existing user with sudo privileges for Python.

Some actions are not yet supported:

  • Patch and errata support

  • Bare metal installations, PXE booting, and virtual host provisioning

  • Live patching

  • CVE Audit

  • If you use are using a repository from storage media (server.susemanager.fromdir = …​ option in rhn.conf), Ubuntu Client Tools will not work.

Canonical does not endorse or support SUSE Manager.

Prepare to Register Ubuntu Clients

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

Before you begin, ensure you have the Ubuntu product enabled, and have synchronized the Ubuntu channels:

For Ubuntu 18.04:

  • Product: Ubuntu Client 18.04

  • Mandatory channels: ubuntu-18.04-pool-amd64

For Ubuntu 16.04:

  • Product: Ubuntu Client 16.04

  • Mandatory channels: ubuntu-16.04-pool-amd64

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

Procedure: Preparing to Register Ubuntu Clients with Spacewalk

Before you begin, ensure you have installed the spacewalk-common-channels utility from the spacewalk-utils package.

  1. Ensure that you have the appropriate software channels available on your system. In the SUSE Manager Web UI, navigate to Software  Channel List  All. You should see a base channel and a child channel for your architecture, for example:

     ubuntu-18.04-pool for amd64
     +- Ubuntu-18.04-SUSE-Manager-Tools for amd64
  2. Open the /etc/rhn/spacewalk-common-channels.ini file, and locate the sections that begin with ubuntu and end with main or updates. Change the yumrepo_url to an existing repository URL. Do not change the ubuntu-$VERSION-pool-$ARCH section.

    ; do not change
    label    = ubuntu-18.04-pool-amd64
    checksum = sha256
    archs    = amd64-deb
    repo_type = deb
    name     = ubuntu-18.04-pool for amd64
    gpgkey_url =
    gpgkey_id =
    gpgkey_fingerprint =
    yumrepo_url = http://localhost/pub/repositories/empty-deb/
    label    = ubuntu-1804-amd64-main
    checksum = sha256
    archs    = amd64-deb
    repo_type = deb
    name     = Ubuntu 18.04 LTS AMD64 Main
    base_channels = ubuntu-18.04-pool-amd64
    ; change URL
    yumrepo_url =
    label    = ubuntu-1804-amd64-main-updates
    name     = Ubuntu 18.04 LTS AMD64 Updates
    archs    = amd64-deb
    repo_type = deb
    checksum = sha256
    base_channels = ubuntu-18.04-pool-amd64
    ; change URL
    yumrepo_url =
  3. Use the spacewalk-common-channels` command to create the required channels and repositories. Ensure you use the appropriate version number in this command, either [systemitem]ubuntu-1604 or [systeitem]ubuntu-1804``:

    spacewalk-common-channels -u <admin_user> -p <admin_pass> -a amd64-deb -v 'ubuntu-1804*'

Enable the Ubuntu Root User

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