Chapter 1. Introduction
Provisioning refers to a process that starts with a bare physical or virtual machine and ends with a fully configured, ready-to-use operating system. Red Hat Satellite provides an ability to define and automate fine-grained provisioning for a large number of hosts. Provisioning can be achieved through various methods. For example, the Satellite Server can provision bare metal systems using both PXE based and non-PXE based methods. Likewise, the Satellite Server can provision cloud instances from specific providers through their APIs. These provisioning methods are part of the Red Hat Satellite 6 application life cycle which allows users to create new systems, manage them, and keep them up-to-date with Red Hat content.
1.1. Provisioning Systems in the Application Life Cycle
The application life cycle defines how a particular system and its software are provisioned at a particular stage. For example, an application life cycle might be simple, and only contain two stages, such as the following:
- Development
- Production
However, a more complex application life cycle might have further stages, such as a phase for testing or a beta release. This adds extra stages to the application life cycle:
- Development
- Testing
- Beta Release
- Production
The Satellite Server allows you to provision new hosts at any stage of the application life cycle. For example, to create a set of hosts for product development, you provision a set of hosts within the Development
environment. Likewise, to create a set of hosts for product testing, you provision a set of hosts within the Testing
environments.
1.2. Defining Provisioning Types
Red Hat Satellite 6 provides different methods for provisioning hosts. This includes:
- Bare Metal Provisioning
- The Satellite Server provisions bare metal systems primarily through PXE boot and MAC address identification. A system administrator creates new host entries and specifies the MAC address of the physical host to be provisioned. A system administrator can also boot blank hosts to use the Satellite Server’s discovery service, which creates a pool of ready-to-provision hosts. Systems can also boot and be provisioned through PXE-less methods.
- Cloud Providers
- The Satellite Server connects to private (Red Hat OpenStack Platform) and public (Amazon EC2) cloud providers. This provides a way to provision new instances from images stored with the Cloud environment. This also includes the ability to define which hardware profile (or flavor) to use.
- Virtualization Infrastructure
- The Satellite Server connects to virtualization infrastructure services such as Red Hat Enterprise Virtualization and VMware. This provides a method to provision virtual machines from virtual image templates or using the same PXE-based boot methods as bare metal providers.
- Linux Containers
- The Satellite Server has the ability to create and manage containers on Red Hat Enterprise Linux Atomic Server.
1.3. Defining our Scenario
This guide follows on from the scenario in the Red Hat Satellite 6 Content Management Guide. In this guide, a software development company called ACME aims to use Red Hat Satellite 6 to provision new systems using a variety of provisioning types. The goal is to provide multiple use case scenarios that ACME can follow to achieve their provisioning purpose.
At this point, ACME has a Satellite Server synchronized with content from Red Hat’s Content Delivery Network and other sources. Likewise, your own Satellite Server should contain synchronized content before any provisioning attempts, which is why it is recommended to follow the scenario in the Red Hat Satellite 6 Content Management Guide before following this guide.
If you have not followed steps in the Content Management Guide and would like to proceed the examples in this guide, use the script in Appendix A, Initialization Script for Provisioning Examples to import the necessary Red Hat content for these examples.
This guide provides steps for using either the Red Hat Satellite 6 Web UI or its CLI tool (hammer
). Use either depending on your preferred method of interacting with Red Hat Satellite 6. If you are using the CLI and you do not want to include authentication details each time you run the hammer
command, create a CLI configuration file for the local user:
mkdir ~/.hammer cat > .hammer/cli_config.yml <<EOF :foreman: :host: 'https://satellite.example.com/' :username: 'admin' :password: 'p@55w0rd!' EOF
All uses of the hammer
command in this guide omit the authentication details, which you can add through the configuration file.
1.4. Chapter Summary
In this chapter, we explored the concept of provisioning in the context of Red Hat Satellite 6. This included discussing how provisioning fits into the Red Hat Satellite 6 application life cycle. This chapter also provided a brief summary of different provisioning types in Red Hat Satellite 6. This provides multiple provisioning scenarios that this guide explores in future chapters.
The next chapter looks at defining our provisioning context, which you define using organizations and locations.