Managing Debian Systems Guide

Debian is a free and open source Linux distribution and a popular choice for servers and cloud computing due to its community and stability. This usage guide shows how to attach existing or provision new hosts running Debian 10 "Buster" when starting with a basic orcharhino installation.

Attaching Hosts Running Debian 10

You can attach existing hosts running Debian 10 to your orcharhino. Refer to the attach existing hosts guide for more information on how to attach existing hosts running Debian 10 using the bootstrap.py script.

Prerequisites
  • If you use a self-signed certificate on your orcharhino, ensure hosts trust the SSL certificate before running the bootstrap.py script.

  • An activation key for the host needs to exist and contain the necessary software content.

  • A host group must be configured accordingly to have orcharhino manage the host completely.

    Ensure to select a host group without any predefined deploy on compute resource. Otherwise, attaching an existing host starts deploying a new host to the compute resource selected in the deploy on drop down menu. Refer to creating a host group for more information.

  • Synchronize the required orcharhino client repository and create a content view.

  • (Debian, SLES, and Ubuntu only) Use --deps-repository-url to specify the repository containing the required dependencies. Navigate to Content > Products, click on your orcharhino clients product, choose the orcharhino client repository on the Repositories tab, and select the appropriate client repository. Pass the Published At URL using --deps-repository-url, for example --deps-repository-url https://orcharhino.example.com/pulp/deb/Example/Library/custom/Debian_Client/Debian_10_Client/.

Procedure
  1. Download the bootstrap.py script using wget:

    # wget https://orcharhino.example.com/pub/bootstrap.py
  2. Use the --help option to display a list of mandatory options:

    # python bootstrap.py --help
  3. Attach your host running Debian 10 to your orcharhino:

    # ./bootstrap.py \
        -s "orcharhino.example.com" \
        -a "debian_10" \
        -o "Example" \
        -L "Munich" \
        -l "admin" \
        -p "password" \
        -g "Debian 10" \
        --fqdn "my-host.example.com" \
        --deps-repository-url "https://orcharhino.example.com/pulp/deb/Example/Library/custom/Debian_Client/Debian_10_Client/" \
        --deps-repository-gpg-key "https://orcharhino.example.com/pub/pulp_deb_signing.key"

Creating the Operating System Entry for Debian 10

Set up orcharhino to provision hosts running Debian 10.

You can use an Ansible role to configure operating systems to skip this step. The Ansible role is located on your orcharhino at /usr/share/orcharhino-ansible/roles/or_operating_systems/.

Procedure
  1. Create an architecture.

    Navigate to Hosts > Architectures and click Create Architecture if the architecture you want to deploy Debian 10 hosts on is missing.

  2. Create an installation media for Debian 10.

    Navigate to Hosts > Installation Media and click Create Medium.

    • Set the Path to the upstream URL http://ftp.debian.org/debian/.

      ATIX provides file repositories for installation media. Once synchronized, you can perform offline installations using a local installation media. See ATIX Service Portal for the upstream URL.

      ATIX provides the following installation media as file repository:

      • Debian 9 and 10

      • Ubuntu 18.04

      • Ubuntu 20.04

      Alternatively, you can also use a Debian Mirror. Note that synchronized content from orcharhino does not work for two reasons: first, the linux and initrd.gz files are not synchronized; second, the Release file is not signed with the official Debian GPG private key.

    • Set the Operating System Family to Debian.

  3. Create an operating system entry for Debian 10.

    Navigate to Hosts > Operating Systems and click Create Operating System.

    • Set the Name of the operating system. Choose a name as reported by Ansible, Puppet, or Salt as fact.

    • Set the Major Version to 10 and omit the Minor Version.

    • Set the Release Name to buster for Debian 10.

  4. Associate the partition table and provisioning templates with Debian 10.

    Navigate to Hosts > Operating Systems and select the Debian 10 operating system.

    • On the Partition Table tab, select your Preseed partition table as Partition Table.

    • On the Templates tab, select your Preseed Finish template as Finish template, your Preseed template as Provisioning Template, and your Preseed PXELinux template as PXELinux template.

Refer to the deploying an internal application guide on how to create a partition table and necessary provisioning templates for Debian-based systems.

Synchronizing Content for Debian 10

Procedure
  1. Create content credentials for Debian upstream repositories and Debian client.

    Navigate to Content > Content Credentials and add the required GPG public keys as content credential for orcharhino to verify the authenticity of Debian repositories. Upload the ascii-armored .txt files to your orcharhino.

  2. Create products for Debian upstream repositories and orcharhino client.

    Navigate to Content > Hosts and create two products: Debian 10 and Debian 10 client.

  3. Create upstream repositories for Debian 10.

    Navigate to Content > Products, select the Debian 10 product, and create three repositories of type deb as follows:

    • Debian 10 main

      • URL: http://ftp.debian.org/debian/

      • Releases: buster

      • Component: main

      • Architecture: amd64

    • Debian 10 updates

      • URL: http://ftp.debian.org/debian/

      • Releases: buster-updates

      • Component: main

      • Architecture: amd64

    • Debian 10 security

      • URL: http://deb.debian.org/debian-security/

      • Releases: buster/updates

      • Component: main

      • Architecture: amd64

        The ATIX Debian and Ubuntu Errata service provides errata for Debian and Ubuntu. When creating a repository of type deb, point the Errata URL at ATIX’s Debian and Ubuntu Errata Parser server. Use https://dep.atix.de/dep/api/v1/debian for Debian and https://dep.atix.de/dep/api/v1/ubuntu for Ubuntu.

        An erratum contains the information which packages have to be updated to fix a security issue. Debian and Ubuntu errata are derived from the Debian security announcements (DSA) and the Ubuntu security notices (USN).

        Ensure to only add Debian and Ubuntu errata to Debian and Ubuntu repositories that contain the packages needed to apply the errata. For Debian, you need the <debian_release>/updates repository, for example bullseye/updates. For Ubuntu, you need the <ubuntu_release>-security repository, for example focal-security.

  4. Create orcharhino client repository for Debian 10.

    Navigate to Content > Products, select the Debian 10 client product, and create a repository of type deb as follows:

    • Debian 10 client

  5. Assign the previously created content credentials to both the Debian 10 and Debian 10 client products.

  6. Synchronize the repositories.

    You may optionally create a sync plan to sync the Debian 10 and Debian 10 client products periodically. To sync the product once, click the Select Action > Sync Now button on the products page.

  7. Create content views.

    Navigate to Content > Content Views and create a content view called Debian 10 comprising the Debian upstream repositories created in the Debian 10 product and publish a new version. Do the same for the Debian 10 client repository of the Debian 10 client product.

  8. Create a composite content view.

    Create a composite content view called Composite Debian 10 comprising the previously published Debian 10 and Debian 10 client content views and publish a new version. You may optionally add further content views of your choice, for example Puppet.

  9. Create an activation key.

    Navigate to Content > Activation Keys and create an activation key called debian-10.

    • Select the Library lifecycle environment and add the Composite Debian 10 content view.

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

    • On the Subscriptions tab, assign the necessary subscriptions which include the Debian 10 and Debian 10 client products.

Provisioning Hosts

After creating the operating system entry and synchronising required content, create a host group to simplify deploying hosts. Refer to the provisioning guide for more information.

Creating a Host Group

Host groups bundle provisioning and configuration settings.

Procedure
  1. Navigate to Configure > Host Groups.

  2. Click Create Host Group.

  3. On the Host Group tab, enter a Name, for example Debian 10, and assign the previously created Lifecycle Environment, Content View, Content Source, Deploy on, and Compute Profile.

  4. On the Network tab, assign the Domain and Subnet.

  5. On the Operating System tab, assign the Architecture, Operating System, Media, Partition Table, PXE-Loader, and enter a default root password.

  6. On the Locations tab, assign a location.

  7. On the Organizations tab, assign an organization.

  8. On the Activation Keys tab, assign the previously created activation key.

  9. Click Submit to save your host group.

You can now comfortably deploy hosts running Debian 10 using the Debian 10 host group.

Deploying Hosts

Use the previously created host group to deploy hosts.

Procedure
  1. Navigate to Hosts > Create Host.

  2. Select the previously created Host Group.

  3. Click Submit to deploy a host.