Chapter 1. Introduction

download PDF

1.1. Provisioning Overview

Provisioning is a process that starts with a bare physical or virtual machine and ends with a fully configured, ready-to-use operating system. Using Red Hat Satellite, you can define and automate fine-grained provisioning for a large number of hosts.

There are many provisioning methods. For example, you can use Satellite Server’s integrated Capsule or an external Capsule Server to provision bare metal hosts using PXE based methods. You can also provision cloud instances from specific providers through their APIs. These provisioning methods are part of the Red Hat Satellite application life cycle to create, manage, and update hosts.

Red Hat Satellite has different methods for provisioning hosts:

Bare Metal Provisioning
Satellite provisions bare metal hosts primarily through PXE boot and MAC address identification. You can create host entries and specify the MAC address of the physical host to provision. You can also boot blank hosts to use Satellite’s discovery service, which creates a pool of ready-to-provision hosts.
Cloud Providers
Satellite connects to private and public cloud providers to provision instances of hosts from images that are stored with the Cloud environment. This also includes selecting which hardware profile or flavor to use.
Virtualization Infrastructure
Satellite connects to virtualization infrastructure services such as Red Hat Virtualization and VMware to provision virtual machines from virtual image templates or using the same PXE-based boot methods as bare metal providers.

1.2. Network Boot Provisioning Workflow

PXE booting assumes that a host, either physical or virtual, is configured to boot from network as the first booting device, and from the hard drive as the second booting device.

The provisioning process follows a basic PXE workflow:

  1. You create a host and select a domain and subnet. Satellite requests an available IP address from the DHCP Capsule Server that is associated with the subnet or from the PostgreSQL database in Satellite. Satellite loads this IP address into the IP address field in the Create Host window. When you complete all the options for the new host, submit the new host request.
  2. Depending on the configuration specifications of the host and its domain and subnet, Satellite creates the following settings:

    • A DHCP record on Capsule Server that is associated with the subnet.
    • A forward DNS record on Capsule Server that is associated with the domain.
    • A reverse DNS record on the DNS Capsule Server that is associated with the subnet.
    • PXELinux, Grub, Grub2, and iPXE configuration files for the host in the TFTP Capsule Server that is associated with the subnet.
    • A Puppet certificate on the associated Puppet server.
    • A realm on the associated identity server.
  3. The new host requests a DHCP reservation from the DHCP server.
  4. The DHCP server responds to the reservation request and returns TFTP next-server and filename options.
  5. The host requests the boot loader and menu from the TFTP server according to the PXELoader setting.
  6. A boot loader is returned over TFTP.
  7. The boot loader fetches configuration for the host through its provisioning interface MAC address.
  8. The boot loader fetches the operating system installer kernel, init RAM disk, and boot parameters.
  9. The installer requests the provisioning template from Satellite.
  10. Satellite renders the provision template and returns the result to the host.
  11. The installer performs installation of the operating system.

    • The installer registers the host to Satellite using Red Hat Subscription Manager.
    • The installer installs management tools such as katello-agent and puppet.
    • The installer notifies Satellite of a successful build in the postinstall script.
  12. The PXE configuration files revert to a local boot template.
  13. The host reboots.
  14. The new host requests a DHCP reservation from the DHCP server.
  15. The DHCP server responds to the reservation request and returns TFTP next-server and filename options.
  16. The host requests the bootloader and menu from the TFTP server according to the PXELoader setting.
  17. A boot loader is returned over TFTP.
  18. The boot loader fetches the configuration for the host through its provision interface MAC address.
  19. The boot loader initiates boot from the local drive.
  20. If you configured the host to use any Puppet classes, the host configures itself using the modules.

This workflow differs depending on custom options. For example:

If you use the discovery service, Satellite automatically detects the MAC address of the new host and restarts the host after you submit a request. Note that TCP port 8443 must be reachable by the Capsule to which the host is attached for Satellite to restart the host.
PXE-less Provisioning
After you submit a new host request, you must boot the specific host with the boot disk that you download from Satellite and transfer using a USB port of the host.
Compute Resources

Satellite creates the virtual machine and retrieves the MAC address and stores the MAC address in Satellite. If you use image-based provisioning, the host does not follow the standard PXE boot and operating system installation. The compute resource creates a copy of the image for the host to use. Depending on image settings in Satellite, seed data can be passed in for initial configuration, for example using cloud-init. Satellite can connect using SSH to the host and execute a template to finish the customization.


By default, deleting the provisioned profile host from Satellite does not destroy the actual VM on the external compute resource. To destroy the VM when deleting the host entry on Satellite, navigate to Administer > Settings > Provisioning and configure this behavior using the destroy_vm_on_host_delete setting. If you do not destroy the associated VM and attempt to create a new VM with the same resource name later, it will fail because that VM name already exists in the external compute resource. You can still register the existing VM to Satellite using the standard host registration workflow you would use for any already provisioned host.

Red Hat logoGithubRedditYoutubeTwitter


Try, buy, & sell


About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.