Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Quick Start Guide

Red Hat Satellite 6.2

Installing, configuring, and provisioning physical and virtual hosts from Red Hat Satellite Servers.

Red Hat Satellite Documentation Team

Abstract

The Red Hat Satellite Quick Start Guide is designed to help you quickly install and configure Red Hat Satellite Server, as well as provision physical and virtual hosts. This guide is aimed primarily at Satellite administrators with sound networking knowledge and skills.

Chapter 1. Should You Use This Guide?

The Quick Start Guide enables you to install and configure your Satellite Server based on a set of assumptions about your environment. This includes setting up the required topology and providing all of the configuration information needed to provision hosts on your network.

You should use this guide if the following assumptions apply to your environment:

  • You are performing a fresh installation of Red Hat Satellite.
  • You will have a single Satellite Server deployment.
  • You can connect to the Red Hat Content Network to obtain packages and receive updates.
  • You have an existing external DNS server that you want to connect to Satellite Server.
  • Your environment does not use DHCP, or uses external DHCP services.
  • You have an existing host that you want to register to Satellite to use for patching.
  • You want to use PXE-less discovery to provision hosts.
  • You use a kickstart-based deployment.
  • Your deployment uses simple Content Views.
  • You are using IPv4.

Some of the tasks in this guide use example information. You should ensure that you use values that are specific to your environment.

If your environment does not fit with these assumptions, you can use the following resources to assist you with installing Satellite Server:

Chapter 2. Preparing for Satellite Server Installation

2.1. Creating a Red Hat Enterprise Linux Host

Before you can install and configure Satellite Server, you must have created a Red Hat Enterprise Linux host. Red Hat Enterprise Linux 7 is recommended for better performance, although Red Hat Enterprise Linux 6 is also supported. The examples in this guide reference Red Hat Enterprise Linux 7.

Creating a Red Hat Enterprise Linux Server 7

  1. Install the latest version of Red Hat Enterprise Linux Server 7, using either the @Core or @Base package set. To install the Linux host, see the Red Hat Enterprise Linux 7 Installation Guide.

2.2. Preparing Your Environment for Installation

Before you install and configure Satellite Server, you should ensure that your environment meets the requirements for installation, including meeting storage requirements, and ensuring that network ports and firewalls are open and configured. For more information, see the Red Hat Satellite 6.2 Installation Guide.

Chapter 3. Installing Satellite Server

3.1. Registering to Red Hat Subscription Management

Registering the host to Red Hat Subscription Management enables the host to subscribe to and consume content for any subscriptions available to the user. This includes content such as Red Hat Enterprise Linux, Red Hat Software Collections (RHSCL), and Red Hat Satellite.

  1. Register your Satellite Server, using your user name and password.

    # subscription-manager register
    Username:
    Password:
    The system has been registered with ID: 541084ff2-44cab-4eb1-9fa1-7683431bcf9a

3.2. Identifying and Attaching the Satellite Subscription to the Host

After you have registered your host, you need to identify your Satellite subscription Pool ID. The Pool ID enables you to attach the required subscription to your host. The Satellite subscription provides access to the Satellite content, as well as Red Hat Enterprise Linux, Red Hat Software Collections (RHSCL), and Red Hat Satellite. This is the only subscription required.

  1. To identify your Satellite subscription, enter the following command:

    # subscription-manager list --all --available

    The outputs displays something similar to the following:

    Subscription Name: Red Hat Satellite
    Provides:          Red Hat Satellite 6
                       Red Hat Enterprise Linux Server
                       Red Hat Satellite
                       Red Hat Enterprise Linux Load Balancer (for RHEL Server)
    SKU:               MCT0370
    Pool ID:           8a85f9874152663c0541943739717d11
    Available:         3
    Suggested:         1
    Service Level:     Premium
    Service Type:      L1-L3
    Multi-Entitlement: No
    Ends:              10/07/2014
    System Type:       Physical
  2. Make a note of the Pool ID so that you can attach it to your Satellite host. Your Pool ID will be different than the example provided.
  3. To attach your subscription to your Satellite Server, enter the following command, using your Pool ID:

    # subscription-manager attach --pool=8a85f9874152663c0541943739717d11

    The outputs displays something similar to the following:

    Successfully attached a subscription for: Red Hat Satellite
  4. To verify that the subscriptions are successfully attached, enter the following command:

    # subscription-manager list --consumed

    The outputs displays something similar to the following:

    +-------------------------------------------+
       Consumed Subscriptions
    +-------------------------------------------+
    Subscription Name: Red Hat Satellite
    Provides:          Red Hat Satellite
                       Red Hat Enterprise Linux Server
                       Red Hat Software Collections (for RHEL Server)
                       Red Hat Satellite
                       Red Hat Satellite 6
                       Red Hat Software Collections (for RHEL Server)
                       Red Hat Satellite Capsule
                       Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                       Red Hat Satellite with Embedded Oracle
                       Red Hat Satellite Capsule
                       Red Hat Enterprise Linux High Availability (for RHEL Server)
    SKU:               MCT0370
    Contract:          10293569
    Account:           5361051
    Serial:            1653856191250699363
    Pool ID:           8a85f9874152663c0541943739717d11
    Active:            True
    Quantity Used:     1
    Service Level:     Premium
    Service Type:      L1-L3
    Status Details:
    Starts:            10/08/2013
    Ends:              10/07/2014
    System Type:       Physical

3.3. Configuring Repositories

  1. Disable all existing repositories.

    # subscription-manager repos --disable "*"
  2. Enable the Red Hat Satellite and Red Hat Enterprise Linux and Red Hat Software Collections repositories.

    The following example uses Red Hat Enterprise Linux 7.

    # subscription-manager repos --enable rhel-7-server-rpms \
                               --enable rhel-server-rhscl-7-rpms \
                               --enable rhel-7-server-satellite-6.2-rpms
    Note

    If you are using a different version of Red Hat Enterprise Linux, change the repository based on your specific version.

  3. Clear out any metadata.

    # yum clean all
  4. Verify that the repositories have been enabled.

    # yum repolist enabled

3.4. Installing Satellite Server

  1. Install the Satellite Server package.

    # yum install satellite
  2. Install Satellite Server and perform the initial configuration.

    # satellite-installer --scenario satellite \
    --foreman-initial-organization "$ORG" \
    --foreman-initial-location "$LOCATION" \
    --foreman-admin-password redhat \
    --capsule-puppet true \
    --foreman-proxy-puppetca true \
    --foreman-proxy-tftp true \
    --enable-foreman-plugin-discovery

3.5. Configuring the Hammer CLI

You can create saved credentials so that you do not have to type them in each time you issue a command. You can also configure the server so that the admin user defaults to logging into a specific organization and location.

  1. Create the ~/.hammer/cli_config.yml file if it does not already exist.

    # mkdir ~/.hammer
    # touch ~/.hammer/cli_config.yml
  2. To protect your password, make sure the file is only readable by the current user. For example, if you plan to issue hammer commands as root, execute the following command.

    # chmod 600 ~/.hammer/cli_config.yml
  3. Add the following content to the file.

    :foreman:
      :host: 'https://satellite.example.net/'
      :username: 'admin'
      :password: 'redhat'
    Important

    Do not use tabs in your ~/.hammer/cli_config.yml file. Always use indentation by spaces.

  4. Configure the admin user to default to logging in to the specified organization and location.

    # hammer user update --login admin \
    --default-location-id 1 \
    --default-organization-id 1 \
    --locations "$LOCATION" \
    --organizations "$ORG"

3.6. Creating a Manifest

  1. Go to the Red Hat Customer Portal and log in.
  2. Click SUBSCRIPTIONS.
  3. In the Red Hat Subscription Management section, click Satellite.
  4. Click Register a Satellite.
  5. In the Name field, type Satellite_Server_example.
  6. Select Satellite 6.2 as the version and click Register.
  7. Click Attach a subscription.
  8. Select the check box for each subscription that you want to attach and specify the number of subscriptions.
  9. Click Attach Selected.

    It can take several minutes for all the subscriptions to attach.

  10. Click Download Manifest and save the manifest file to a known location.

3.7. Uploading a Manifest to Your Satellite Server

Uploading a Manifest Using the Web UI

  1. Verify that you are in the correct Organization.
  2. Click ContentRed Hat Subscriptions.
  3. Click Manage Manifest to open the Subscriptions page.
  4. Click Browse, select the manifest file you created, and click Open.
  5. Click Upload to upload the manifest to the Satellite Server.

Uploading a Manifest Using Hammer CLI

  1. Upload a manifest to Satellite Server.

    # hammer subscription upload \
    --organization-label org_label \
    --file path_to_manifest

Chapter 4. Associating Objects with the Default Organization and Location

4.1. Creating a New Domain

For Web UI Users

Navigate to InfrastructureDomains and click New Domain. The UI provides a set of fields where you can input details for the domain:

  • In the Domain tab:

    • Name - The domain name. In this example, this is " example.com ".
    • Description - A plain text description of the domain. For this example: ACME’s example domain.
    • DNS Capsule - The capsule to use for DNS assignments. For this example, use the Satellite Server’s Integrated Capsule.
  • In the Locations tab:

    • Select the locations that use this domain. For example, select the New York location.
  • In the Organizations tab:

    • Select the organizations that use this domain. For example, select ACME.

For CLI Users

Create the domain with the following command:

# hammer domain create --name "example.com" \
--description "ACME's example domain" \
--dns_id 1 --locations "New York" \
--organizations "ACME"
Note

In this example, the --dns-id option uses 1, which is the ID of the Satellite Server’s Integrated Capsule.

4.2. Associating the Domain with the Default Organization

Associating the Domain with the Default Organization Using the Web UI

  1. On the Main Menu, click InfrastructureDomains.
  2. Select the domain in the Description column.
  3. On the Locations tab, click Default_Location to add it to the Selected items list.
  4. On the Organizations tab, click Default_Organization to add it to the Selected items list.
  5. Click Submit.

Associating the Domain with the Default Organization Using Hammer ClI

  1. Associate the domain to your organization.

    $ hammer organization add-domain --name $ORG --domain domain_name
  2. Associate the domain to your location.

    $ hammer location add-domain --name $LOCATION --domain domain-name

4.3. Configuring the Subnet

Configuring the Subnet Using the Web UI

  1. On the Main Menu, click InfrastructureSubnets.
  2. Click New Subnet and enter the information specific to your environment.

    1. If you use DHCP, enter the following information:

      • Name: Provisioning_Net
      • Network address: 172.17.13.0
      • Network mask: 255.255.255.0
      • Gateway Address: 172.17.13.1
      • Primary DNS Server: 172.17.13.2
      • Secondary DNS Server: Leave blank
      • IPAM: None
      • Start of IP Range: 172.17.13.100
      • End of IP Range: 172.17.13.150
      • VLAN ID: Leave blank
      • Boot Mode: DHCP
    2. If you use static IP addresses, enter the following information:

      • Name: Provisioning_Net
      • Network address: 172.17.13.0
      • Network mask: 255.255.255.0
      • Gateway Address: 172.17.13.1
      • Primary DNS Server: 172.17.13.2
      • Secondary DNS Server: Leave blank
      • IPAM: None
      • Start of IP Range: 172.17.13.100
      • End of IP Range: 172.17.13.150
      • VLAN ID: Leave blank
      • Boot Mode: Static
  3. Click Submit.
  4. Click Provisioning_Net to edit the subnet.
  5. On the Domains tab, select example.org.
  6. On the Capsules tab, change the TFTP and Discovery Proxy capsule to reflect the host name of the Satellite Server.
  7. On the Locations tab, select Default_Location under All items to associate the domain with the default location.
  8. On the Organizations tab, select Default_Organization under All items to associate the domain with the default organization.

Configuring the Subnet Using Hammer CLI

  1. Create a subnet.

    1. Create a subnet using DHCP.

      # hammer subnet create --name Provisioning_Net \
      --organizations 'RedHat' \
      --locations 'RDU' \
      --domain-ids 1 \
      --boot-mode DHCP \
      --network 172.17.13.0 \
      --mask 255.255.255.0 \
      --ipam None \
      --dns-primary 172.17.13.1 \
      --gateway 172.17.13.1 \
      --from 172.17.13.100 \
      --to 172.17.13.150 \
      --tftp-id 1
    2. Create a subnet using static IP addresses.

      # hammer subnet create --name Provisioning_Net \
      --organizations 'RedHat' \
      --locations 'RDU' \
      --domain-ids 1 \
      --boot-mode Static \
      --network 172.17.13.0 \
      --mask 255.255.255.0 \
      --ipam None \
      --dns-primary 172.17.13.1 \
      --gateway 172.17.13.1 \
      --from 172.17.13.100 \
      --to 172.17.13.150 \
      --tftp-id 1
      Note

      You cannot set the discovery proxy using Hammer CLI.

Chapter 5. Importing Subscriptions and Synchronizing Content

5.1. Enabling Red Hat Repositories

You must enable the required Red Hat repositories to support provisioning a Red Hat Enterprise Linux host.

You should select the appropriate release for your environment. This task enables the following repositories:

  • Red Hat Enterprise Linux Server (Kickstart): This allows Satellite to kickstart a host.
  • Red Hat Enterprise Linux Server (RPMs): This provides ongoing content and errata.
  • Red Hat Enterprise Linux Server - Satellite Tools (RPMs): This provides supporting software, such as Puppet and katello-agent.

Enabling Red Hat Enterprise Linux 7 Server Repositories Using the Web UI

  1. Select ContentRed Hat Repositories.
  2. On the Kickstarts tab, go to Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 7 Server (Kickstart) and select the Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.2 repository.
  3. On the RPMs tab, go to Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 7 Server (RPMs) and select the Red Hat Enterprise Linux 7 Server RPMs x86_64 7 Server repository.
  4. Navigate to Red Hat Enterprise Linux ServerRed Hat Enterprise Linux 7 Server - Satellite Tools (RPMs) - Satellite Tools (RPMs) and select the Red Hat Enterprise Linux 7 Server - Satellite Tools RPMs x86_64 repository.

Enabling Red Hat Enterprise Linux 7 Server Repositories Using Hammer CLI

  1. Enable your Kickstart repository.

    # hammer repository-set enable --organization-label "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --basearch='x86_64' \
    --releasever='7Server' \
    --name 'Red Hat Enterprise Linux 7 Server (Kickstart)'
  2. Enable your RPMs repository.

    # hammer repository-set enable --organization "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --basearch='x86_64' \
    --releasever='7Server' \
    --name 'Red Hat Enterprise Linux 7 Server (RPMs)'
  3. Enable your Satellite Tools repository.

    # hammer repository-set enable --organization "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --basearch='x86_64' \
    --name 'Red Hat Satellite Tools 6 (for RHEL 7 Server) (RPMs)'

5.2. Creating a Custom Product

You can enable a repository with custom packages, but you must first manually create a Product for the repository.

Creating Custom Products Using the Web UI

  1. Click ContentProducts and then click New Product.
  2. Enter a name for your custom Product.
  3. Click Save.
  4. After the screen refreshes, click Create Repository.
  5. Enter Puppet Modules in the Name field.
  6. In the Type field, Puppet. Leave the URL field blank.
  7. Click Save.

Uploading Puppet Modules to the Repository Using the Web UI

You can now upload a Puppet Module to the Puppet Module repository. You can also use the https://forge.puppetlabs.com as the URL to mirror Puppet Forge locally. All of the content from Puppet Forge is available on your Satellite Server. However, this requires downloading over 2700 modules and can take considerable time, depending on available bandwidth. This example uses the motd module because it is simple, and has no dependencies on other modules. If you want to upload packages with large files, use the Hammer CLI.

  1. Download the motd Puppet module from https://forge.puppetlabs.com/jeffmccune/motd. The file that you download will have a .tar.gz extension.
  2. Click ContentProducts and click Custom Products in the Name field.
  3. On the Repositories tab, click Puppet Modules to modify the Puppet Modules repository.
  4. In the Upload Package section, click Choose Files, and navigate to the motd module that you downloaded.
  5. Click Upload.

Creating Custom Products and Enabling Repositories Using Hammer CLI

  1. Create a custom Product.

    $ hammer product create --name "product_name" --organization-label org_label
  2. Create a new repository under the custom Product.

    $ hammer repository create --name "repo_name" \
    --organization-label org_label \
    --product "product_name" \
    --content-type cont_type \
    --publish-via-http true \
    --url "repo_url"

    Content type specifies whether you want Yum, Puppet, or Docker content.

  3. Upload packages to the custom repository.

    $ hammer repository upload-content --product "product_name" \
    --organization-label org_label \
    --id "repo_id" \
    --path path_to_dir

5.3. Synchronizing Content

You can synchronize repositories from the Red Hat Content Delivery Network to your Satellite, which also applies to synchronizing custom repositories (such as Yum or Puppet) that contain a repository URL.

Synchronizing Content Using Red Hat Enterprise Linux 7 Server Using the Web UI

  1. Click ContentSync Status to display the list of available Products.
  2. Navigate to Red Hat Enterprise Linux Server7Serverx86_64.
  3. Select the following Products:

    • Red Hat Enterprise Linux 7 Server RPMs x86_64 6Server.
    • Red Hat Enterprise Linux 7 Server - Satellite Tools RPMs x86_64.
  4. Navigate to Red Hat Enterprise Linux Server7.2x86_64 and select Red Hat Enterprise Linux 7 Server Kickstart x86_64 6.6.
  5. Click Synchronize Now.

    The synchronization could take several hours, depending on available bandwidth.

Synchronizing Content Using Hammer CLI

  1. Synchronize your Kickstart repository.

    $ hammer repository synchronize --organization "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --name  'Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.2' \
    --async
  2. Synchronize your RPMs repository.

    $ hammer repository synchronize --organization "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --name 'Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server' \
    --async
  3. Synchronize your Satellite Tools repository.

    $ hammer repository synchronize --organization "$ORG" \
    --product 'Red Hat Enterprise Linux Server' \
    --name 'Red Hat Satellite Tools 6 for RHEL 7 Server RPMs x86_64' \
    --async

Chapter 6. Managing and Promoting Content

6.1. Creating Application Life Cycle Environments

An application life cycle environment represents a step, or stage, in a promotion path through the software development life cycle (SDLC).

  1. Click ContentLife Cycle Environments to open the Life Cycle Environment Paths page.
  2. Click Add New Environment to display the New Environment page.

    The library is the origin of all content that you can use in your environments.

  3. Enter a name in the Name Field.

    The label is automatically populated with the same name, but you can change it to suit your needs. You can also add a description of your environment.

  4. Click Save.

Creating Life Cycle Environments Using Hammer CLI

  1. Create the life cycle environment.

    $ hammer lifecycle-environment create --name Development \
    --prior Library \
    --organization “$ORG”

6.2. Creating Simple Content Views

A Content View is a managed selection of content, which contains one or more repositories (either yum or Puppet) with optional filtering. These filters can be either inclusive or exclusive, and tailor a host view of content for life cycle management. You can use Content Views to customize content that is made available to client hosts.

Creating Content Views Using the Web UI

  1. Click ContentContent Views and then click Create New View.
  2. Type RHEL6 x86_64 in the Name field.

    The label is automatically populated.

  3. Clear the Composite View? check box and click Save.

Creating Content Views Using Hammer CLI

  1. Create the Content View.

    $ hammer content-view create --organization "$ORG" \
    --name 'RHEL7_Base' \
    --label rhel7_base \
    --description 'Core Build for RHEL 7'

6.3. Adding Red Hat Enterprise Linux Repositories

You can add Red Hat Enterprise Linux repositories to a Content View. You can use the same process for both Red Hat and custom repositories.

This task uses a simple use case where all content is published. You can also create filters to control the content that is included in or excluded from the published Content View.

Adding Repositories Using Web UI

  1. Go to the Content Selection page.
  2. On the Add tab, select the check box next to each of the following repositories:

    • Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.2
    • Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server
    • Red Hat Satellite Tools 6 for RHEL 7 Server RPMs x86_64
  3. Click Add Repositories.

    After the page has refreshed, you can see the list of repositories in your Content View on the List/Remove tab.

Adding Repositories Using Hammer CLI

  1. Add your Kickstart repository.

    $ hammer content-view add-repository --organization "$ORG" \
    --name 'RHEL7_Base' \
    --product 'Red Hat Enterprise Linux Server' \
    --repository 'Red Hat Enterprise Linux 7 Server Kickstart x86_64 7.2'
  2. Add your RPMs repository.

    $ hammer content-view add-repository --organization "$ORG" \
    --name 'RHEL7_Base' \
    --product 'Red Hat Enterprise Linux Server' \
    --repository 'Red Hat Enterprise Linux 7 Server RPMs x86_64 7Server'
  3. Add your Satellite Tools repository.

    $ hammer content-view add-repository --organization "$ORG" \
    --name 'RHEL7_Base' \
    --product 'Red Hat Enterprise Linux Server' \
    --repository 'Red Hat Satellite Tools 6 for RHEL 7 Server RPMs x86_64'

6.4. Adding Puppet Modules to a Content View

Puppet Modules are self-contained bundles of code and data that you can use to manage resources such as users, files, and services.

Adding Puppet Modules Using the Web UI

  1. Go to the Content Views page.
  2. Click Content → Content Views.
  3. On the Puppet Modules tab, click Add New Module to display a list of available Puppet Modules.

    You can use the Filter field to help locate the required module.

  4. Click Select Version and select the 'motd' module.
  5. Click Select Version next to the version of the module that you want to add.
Note

If you select "Use Latest" when you select which Puppet module version to use, it means that whenever a new version of the Content View is published, the latest version of that module is included in the published view.

Adding Puppet Modules Using Hammer CLI

  1. Add a Puppet module.

    $ hammer content-view puppet-module add \
    --content-view cv_name \
    --name module_name

6.5. Publishing a Content View

After you have created Content Views and Puppet Modules, you can publish them to the Library.

Publishing a Content View Using the Web UI

  1. Click ContentContent Views.
  2. Click the name of the Content View that you want to publish.
  3. Click Publish New Version to display the Publish New Version page.

    This specifies the version and allows you to enter a comment to reflect any changes made to the Content View.

  4. Click Save to publish the Content View to the library.

    You can monitor the publication progress on the screen that appears.

  5. When the publishing process is complete, click Promote.

    The list of available promotion paths (Library → Dev → QA) displays.

  6. Select the check box for the Dev environment, and then click Promote Version.

Publishing a Content View Using Hammer CLI

  1. Publish your Content View.

    $ hammer content-view publish --organization "$ORG" \
    --name RHEL7_Base \
    --description 'Initial Publishing'
  2. Promote your Content View.

    $ hammer content-view version promote \
    --organization "$ORG" \
    --content-view RHEL7_Base \
    --to-lifecycle-environment Development

6.6. Creating and Editing Activation Keys

After you have successfully published a Content View, you need to create an Activation Key to associate with a Host Group.

Creating and Editing an Activation Key Using the Web UI

  1. On the main menu, click ContentActivation KeysNew Activation Key.
  2. In the Name field, enter a name.
  3. If applicable, clear the Content Host Limit check box.

    You can use this field to control how many times a given activation key is used. For example, if you associate the key with a subscription that has a limited quantity, you can set the limit on the activation key to eliminate exceeding that quantity.

  4. Select the check box for your environment.
  5. In the Content View drop-down list, select the RHEL 7 x86_64 Content View, and then click Save.
  6. On the Activation Keys page, click the Subscriptions tab, then click the Add tab to display the list of available subscriptions.
  7. From the list of available subscriptions, select the subscriptions you want to add.
  8. Click Add Selected.

Creating and Editing an Activation Key Using Hammer CLI

  1. Create the activation key.

    $ hammer activation-key create --name ak-Reg_To_Dev_EL7 \
    --organization-label org_label \
    --content-view RHEL7_Base
    --lifecycle-environment Development
  2. Add a subscription.

    $ hammer subscription list --organization “$ORG”
    $ hammer activation-key add-subscription \
    --name ak-Reg_To_Dev_EL7 \
    --subscription-id 8 \
    --organization "$ORG"
  3. Set Product content to enable the repository.

    $ hammer activation-key content-override --name ak-Reg_To_Dev_EL7 \
    --organization "$ORG" \
    --content-label rhel-7-server-satellite-tools-6.2-rpms \
    --value 1

If you do not plan to use Satellite Server to patch your systems, continue to Creating Provisioning Templates.

Chapter 7. Patching Your Systems

To patch your systems through Satellite Server, you need to register your systems first, and then choose to install Katello agent or use remote execution. Remote execution is enabled by default. This chapter covers both methods. Choose the option that suits your environment

7.1. Registering Existing Hosts

This section explains how to register Red Hat Enterprise Linux Hosts and Atomic Hosts.

7.1.1. Registering an Existing Red Hat Enterprise Linux Host

  1. On the host, clear any old data to ensure updated data is uploaded correctly.

    # subscription-manager clean
  2. Install the katello-ca-consumer-latest RPM.

    # rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm

    This installs the proper certificates which allow communication between the client and the Satellite Server.

  3. Register the host.

    # subscription-manager register --org $ORG \
    --activationkey ak-Reg_To_Dev_EL7

7.1.2. Registering an Atomic Host

The following procedure explains how to register an Atomic Host with Subscription Manager.

  1. Retrieve katello-rhsm-consumer from the Satellite Server:

    [root@atomic_client ~]# wget http://satellite.example.com/pub/katello-rhsm-consumer
  2. Change the mode of katello-rhsm-consumer in order to make it executable:

    [root@atomic_client ~]# chmod +x katello-rhsm-consumer
  3. Run katello-rhsm-consumer:

    [root@atomic_client ~]# ./katello-rhsm-consumer
  4. Register with Red Hat Subscription Manager:

    [root@atomic_client ~]# subscription-manager register
Note

Because Atomic is functionally an appliance, we do not recommend that you try to install katello-agent on it.

7.2. Patching Your System Using Katello Agent

7.2.1. Installing Katello Agent

On the content host, install the katello-agent RPM package.

# yum install katello-agent

The goferd service must be running so that the Red Hat Satellite Server or Capsule Server can provide information about errata that are applicable for content hosts.

Ensure goferd is running:

  • On Red Hat Enterprise Linux 6, run the following command:

    # service goferd start
  • On Red Hat Enterprise Linux 7, run the following command:

    # systemctl start goferd

7.2.2. Applying Errata to Content Hosts

Applying Errata to Content Hosts Using the Web UI

  1. Go to Hosts → Content Hosts and click on auth01.example.com.
  2. Select the Errata tab to view the list of errata applicable to the content host.
  3. From the list, select an errata.
  4. Click Apply Selected.
  5. A confirmation message appears. Click Apply.
  6. Verify that the errata has been applied to the client.

    [root@client ~]# yum list-sec

Applying Errata to Content Hosts Using Hammer CLI

  1. List the errata that apply to the auth01.example.com host.

    # hammer content-host errata list --content-host auth01.example.com \
    --organization "$ORG"
  2. Apply the errata required by the host.

    # hammer host errata apply --content-host auth01.example.com \
    --organization "$ORG" \
    --errata-ids errata_id.
  3. Verify that the errata has been applied to the client.

    [root@client ~]# yum list-sec

7.3. Patching Your System Using Remote Execution

7.3.1. Enabling Remote Execution on a Host

During Satellite Server installation, an internal Capsule Server is automatically installed along with a public SSH key. The internal Capsule Server loads the SSH key from /usr/share/foreman-proxy/.ssh/id_rsa_foreman_proxy. You can enable remote execution by distributing the public SSH key to a host.

On the Satellite Server, distribute the key to the host.

 # ssh-copy-id -i ~foreman-proxy/.ssh/id_rsa_foreman_proxy.pub root@auth01.example.com

7.3.2. Installing Errata on Your Host

Satellite provides default job templates for executing remote jobs, one of which is for installing errata.

  1. Go to HostsAll hosts and click the check box next to the host’s name.
  2. Click Select Action and select Schedule Remote Job from the drop-down menu.
  3. In the Job category drop-down menu, select Katello.
  4. In the Job template drop-down menu, select Install Errata-Katello SSH Default.
  5. In the errata field, enter the errata ID.
  6. Select Execute now and click Submit.

Chapter 8. Finalizing the Provisioning Configuration

8.1. Creating Custom Provisioning Templates

You can set up a provisioning template that you can use to provision multiple hosts, each having the same configuration.

Creating a Provisioning Template Using the Web UI

  1. On the main menu, click HostsProvisioning Templates.
  2. In the Name column, select Kickstart Default iPXE or PXELinux in the list of provisioning templates.

    This displays the configuration tabs where you can customize the template.

  3. On the Association tab, select the appropriate operating system and click Submit.
  4. In the Name column, select the appropriate provisioning template.

    If you use PXE-less discovery, you should select the Discover Red Hat kexec provisioning template.

  5. On the Association tab, select the appropriate operating system and click Submit.
  6. On the main menu, click HostsOperating Systems and select the appropriate operating system.

    This displays the configuration tabs where you can customize the operating system.

  7. On the Partition Table tab, select Kickstart Default.
  8. On the Installation Media tab, ensure Default_Organization/Library/Red_Hat_6_Server_Kickstart_x86_64_6Server is visible and selected.
  9. On the Templates tab, select Katello Kickstart Default from the provision drop-down list.
  10. Select Discovery Red Hat kexec from the kexec drop-down list and click Submit.

Creating a Provisioning Template Using Hammer CLI

  1. Create a provisioning template.

    $ hammer template create --name template_name --file path_to_template_file

    If you use PXE-less discovery, you should use the kexec template type.

  2. Add the operating system.

    $ hammer template add-operatingsystem id

8.2. Creating Host Groups

You can create and configure a host group, which enables you to provision multiple hosts without the need to specify the same properties for each host. You can associate an activation key with a host group, which allows the provisioned host to be registered to the Satellite Server and associated with the selected life cycle environment, Content View, subscriptions, and so on.

Creating Host Groups Using the Web UI

  1. On the main menu, click ConfigureHost Groups, and then click New Host Group.
  2. On the Host Group tab, input the following values:

    • Name: RHEL6Server-x86_64
    • Lifecycle Environment: Default_Organization/DEV
    • Content View: RHEL_6_x86_64
    • Content Source: The FQDN of your Capsule (in this case the Satellite Server)
    • Puppet CA: The FQDN of your Satellite
    • Puppet Master: The FQDN of your Satellite
  3. On the Puppet Classes tab, select the motd puppet module from the list of available classes.
  4. On the Network tab, select the following values:

    • Domain: example.org
    • Subnet: Provisioning_Net
    • Realm: For the purposes of this example, leave this field blank. If you have configured realm management, for example IPA, select the appropriate realm here.
  5. On the Operating System tab, select the following values:

    • Architecture: x86_64
    • Operating system: RHEL Server 6.5
    • Media: Default_Organization/Library Red Hat Server 6.5 x86_64. In this example, this is automatically populated. If this field is not automatically populated, it means the Organization and Location associations are not correctly configured.
    • Partition table: Kickstart default
    • Root password: changeme
  6. On the Locations tab, select Default_location.
  7. On the Organizations tab, select Default_Organization.
  8. On the Activation Keys tab, select the appropriate key.
  9. Click Submit.

Creating Host Groups Using Hammer CLI

  1. Create the host group.

    $ hammer hostgroup create --name "hostgroup_name" \
    --environment "environment_name" \
    --architecture "architecture_name" \
    --domain domain_name \
    --subnet subnet_name \
    --puppet-proxy proxy_name \
    --puppet-ca-proxy ca-proxy_name \
    --operatingsystem "os_name" \
    --partition-table "table_name" \
    --medium "medium_name" \
    --organization-ids org_ID1,org_ID2... \
    --location-ids loc_ID1,loc_ID2...
  2. Add an activation key.

    $ hammer hostgroup set-parameter --hostgroup "hostgroup_name" \
    --name "kt_activation_keys" \
    --value key_name

Chapter 9. Provisioning Hosts Using a PXE-less Discovery Image

Satellite provides two main approaches to provisioning hosts, PXE booting and boot disk provisioning. Boot disk provisioning, or PXE-less booting, provides host provisioning when PXE services are not available. This guide covers PXE-less host provisioning.

You can use the Discovery image ISO to boot either bare metal hardware or virtual systems and attach them to the Satellite Server. Both DHCP and static IP networking are supported. The Discovery Plug-ins are installed by default and are a part of the subscribed repository.

  1. Verify that your Satellite Server has a compatible version of the discovery plug-ins.

    • Discovery plug-in - tfm-rubygem-foreman_discovery-5.0.0.4-1 or later
    • Discovery image - foreman-discovery-image-3.0.5-3 or later
    • Smart proxy plug-in - rubygem-smart_proxy_discovery-1.0.3-2 or later

      If you need to upgrade the plug-ins, you must reboot.

  2. For physical systems, transfer the ISO image onto a USB stick or CDROM/DVD. For virtual systems, attach the ISO image to a virtual CD-ROM.
  3. Boot the ISO image on your system.

    A text-based user interface appears.

  4. Select either Manual network setup or Discover with DHCP, depending on your environment.
  5. If the host has multiple NICs, choose the primary network interface and click Select.
  6. If applicable, enter your network credentials and click Next.
  7. Enter the full Satellite Server URL and select the Server connection type. Click Next.
  8. Enter custom facts to trigger auto-provisioning rules and click Confirm.

    The host is discovered and sends a "discovery_kexec" fact to Satellite Server that prevents a reboot during provisioning.

  9. In the web UI, go to HostsDiscovered Hosts to view the host.
  10. Click Provision, enter the information for your host and click Submit.

Legal Notice

Copyright © 2018 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.