Managing Ubuntu Systems Guide

Ubuntu is a Debian based Linux distribution and a popular choice for servers and cloud computing due to its long term support versions. This guide shows how to attach existing or deploy new hosts running Ubuntu 20.04 ("Focal Fossa") when starting with a basic orcharhino installation.

This guide presumes a basic understanding of orcharhino’s content management capabilities as outlined in the content management guide.

Deploying hosts running Ubuntu 20.04 requires an already attached compute resource. Refer to the compute resources chapter on how to add a compute resource provider to orcharhino.

Attach Hosts Running Ubuntu 20.04

Refer to the attach existing hosts guide on how to attach existing hosts running Ubuntu 20.04 via bootstrap.py script.

Most notably, there are five prerequisites:

Download the bootstrap.py script using curl, wget, or similar:

wget https://orcharhino.example.com/pub/bootstrap.py

The help instructions will display a list of mandatory options:

python bootstrap.py --help

Run the following command on your Ubuntu 20.04 host to attach it to orcharhino:

./bootstrap.py \
  -s "orcharhino.example.com" \
  -a "ubuntu_20_04" \
  -o "Example" \
  -L "Munich" \
  -l "admin" \
  -p "changeme" \
  -g "Ubuntu 20.04" \
  --fqdn "my-host.example.com" \

This allows you to attach an existing host running Ubuntu 20.04 to your orcharhino.

Deploy Hosts Running Ubuntu 20.04

The following steps allow you configure and prepare your orcharhino to deploy hosts running Ubuntu 20.04:

Preparing Installation Media

Extracting the installation media for Ubuntu 20.04 allows for complete offline installations.

  1. Connect to your orcharhino via SSH:

    ssh root@orcharhino.example.com
  2. Download the Ubuntu 20.04 installation media from ubuntu.com via wget:

    mkdir /tmp/ubuntu_20_04
    cd /tmp/ubuntu_20_04
    wget https://releases.ubuntu.com/focal/ubuntu-20.04.1-desktop-amd64.iso
  3. Verify the integrity and authenticity of the downloaded .iso file:

    wget https://releases.ubuntu.com/focal/SHA256SUMS.gpg
    wget https://releases.ubuntu.com/focal/SHA256SUMS
    gpg --verify SHASUMS.gpg SHASUMS
    echo 'b45165ed3cd437b9ffad02a2aad22a4ddc69162470e2622982889ce5826f6e3d ubuntu-20.04.1-desktop-amd64.iso' | sha256sum --check

    You might need to import the official Ubuntu GPG public key first before verifying the authenticity of the SHA256SUMS file. Refer to the content credentials for more information.

  4. Mount the .iso image:

    mkdir ubuntu_20_04_iso
    mount -o loop,ro -t iso9660 ubuntu-20.04.1-desktop-amd64.iso ubuntu_20_04_iso
  5. Copy mounted installation media to public directory:

    mkdir -p /var/www/html/pub/installation_media/ubuntu_20_04
    cp -pR /tmp/ubuntu_20_04_iso/ /var/www/html/pub/installation_media/ubuntu_20_04/
  6. Unmount and delete .iso file:

    cd
    umount /tmp/ubuntu_20_04_iso
    rm -rf /tmp/ubuntu_20_04

Adding Operating System Entry

  1. Create an architecture.

    Depending on your hardware or compute resource provider, you probably want to create an architecture called x86_64.

  2. Create an installation medium for Ubuntu 20.04

    Navigate to Hosts > Installation Media and create a new installation media.

    Creating an installation media for Ubuntu 20.04
    • The Name field (1) identifies the installation media for Ubuntu 20.04. We recommend adding local to the name as the path of the extracted .iso file points to the orcharhino. Using a locally available installation medium allows for offline installations.

    • The Path field (2) defines the path to the extracted .iso file. This is the orcharhino FQDN plus the directory of the extracted .iso file as described in the first part, e.g. https://orcharhino.example.com/pub/installation_media/ubuntu_20_04/.

    • The Operating System Family drop down menu (3) is set to Debian for all Debian and Ubuntu systems.

    • Remember to also set a proper location and organization context (4) for the installation media.

    • Click the Submit button (5) to save the installation media entry for Ubuntu 20.04.

  3. Create an operating system called Ubuntu 20.04.

    Creating an operating system for Ubuntu 20.04
    • The Name field (1) sets the name of the operating system. Choose a name from one of the operating systems reporting by Ansible, Puppet, or Salt as fact.

    • The Major Version field (2) describes the major version of Ubuntu, e.g. 20.04.

    • The Minor Version field (3) can be omitted for Ubuntu.

    • The Descriptions field (4) allows for an arbitrary description of the operating system.

    • The Family drop down menu (5) assigns Ubuntu to a operating system family.

    • The Release Name field (6) contains the name of the release, e.g focal for Ubuntu 20.04.

    • The Root Password Hash drop down menu (7) must be set to SHA256 for Ubuntu.

    • The Architectures field (8) assigns Ubuntu to an architecture as created in the step above.

    • The other tabs (9) require associations to the newly created operating system. Select a partition table, an installation media, templates, and optionally parameters.

      On a basic orcharhino installation, you are not able to select any partition tables and templates when creating the operating system. Instead, save the Ubuntu 20.04 operating system entry by clicking the Submit button as shown above and navigate to Hosts > Partition Tables and Hosts > Templates to associate the default templates with the operating system. You can now return to the operating system and select those templates via drop down menu.

    • Clicking the Submit button (10) saves your changes to orcharhino.

Synchronizing Content

  1. Create a product called Ubuntu 20.04

  2. Create the necessary repositories

    Create generic deb repositories inside the product created in step 1. This product may contain one or more repositories such as the following:

  3. Synchronize the repositories

    Synchronize all repositories via the Select Action > Sync Now button on the products page.

  4. Create a content view

    Create a single content view called Ubuntu 20.04 comprising the Ubuntu repositories created in the Ubuntu 20.04 product and publish a new version.

  5. Create a composite content view

    Create a new composite content view called Composite Ubuntu 20.04 comprising the previously published Ubuntu 20.04 content view, the Ubuntu 20.04 orcharhino client content view and optionally further content views of your choice (e.g. Puppet). Refer to adding an orcharhino client on how to synchronize the orcharhino client for Ubuntu 20.04. The necessary upstream URL for the orcharhino client repository for Ubuntu 20.04 can be found in the ATIX Service Portal.

    Publish a new version and promote this version to the lifecycle environment of your choice.

  6. Create an activation key

    Create a new activation key called ubuntu-20.04 and configure it as follows:

    • On the Details tab, assign the correct lifecycle environment and assign the correct composite content view.

    • On the Subscriptions tab, assign the necessary subscriptions (e.g. Ubuntu 20.04, and Puppet etc).

  7. (Optional) Create a new host group and assign the previously created activation key to it to deploy hosts running Ubuntu 20.04 more comfortably.

You can now deploy hosts supplied by the Ubuntu 20.04 repositories once the previously created activation key is assigned to them either on an individual level or via host group.