Chapter 2. Installing Satellite Server

You can use this chapter to find information about installing Red Hat Satellite Server, performing the initial configuration, creating and installing manifests, and performing additional configuration.

There are two methods of installing Satellite Server:

Connected:

You can obtain the packages required to install Satellite Server directly from the Red Hat Content Delivery Network (CDN). Using the CDN ensures that your system always receives the latest updates.

Disconnected:

You must use an external computer to download an ISO image of the packages and copy the packages to the system you want to install Satellite Server on. Use an ISO image only if you require a disconnected environment. The ISO image might not contain the latest updates.

Note

You cannot register Satellite Server to itself.

2.1. Installing Satellite Server from a Connected Network

When you install Satellite Server from a connected network, you can obtain packages and receive updates directly from the Red Hat Content Delivery Network.

Note that the Satellite 6 installation script is based on Puppet, which means that if you run the installation script more than once, it might overwrite any manual configuration changes. ⁠ To avoid this and determine which future changes apply, use the --noop argument when you run the installation script. This argument ensures that no actual changes are made. Potential changes are written to /var/log/foreman-installer.log.

Files are always backed up and so you can revert any unwanted changes. For example, in the foreman-installer logs, you can see an entry similar to the following about Filebucket:

/Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1

You can restore the previous file as follows:

# puppet filebucket -l \
restore /etc/dhcp/dhcpd.conf 622d9820b8e764ab124367c68f5fa3a1

2.1.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.

Register your system with the Red Hat Content Delivery Network, entering your Customer Portal user name and password when prompted:

# subscription-manager register

The command displays output similar to the following:

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

2.1.2. Identifying and Attaching the Satellite Subscription to the Host

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

Red Hat Satellite Infrastructure is included with all subscriptions that include Smart Management. For more information, see the Red Hat Knowledgebase solution Satellite Infrastructure Subscriptions MCT3718 MCT3719.

  1. Identify your Satellite subscription.

    # subscription-manager list --all --available --matches 'Red Hat Satellite Infrastructure Subscription'

    Subscriptions are classified as available if they are not already attached to a system. If you are unable to find an available Satellite subscription, see the Red Hat Knowledgebase solution How do I figure out which subscriptions have been consumed by clients registered under Red Hat Subscription Manager? to run a script to see if your subscription is being consumed by another system.

    Your output should be similar to the following:

    Subscription Name:   Red Hat Satellite Infrastructure Subscription
    Provides:            Red Hat Beta
                         Red Hat Satellite
                         Red Hat Satellite with Embedded Oracle
                         Red Hat Satellite 5 Managed DB
                         Red Hat Satellite Proxy
                         Red Hat Software Collections (for RHEL Server)
                         Red Hat Satellite Capsule
                         Red Hat Software Collections Beta (for RHEL Server)
                         Red Hat Enterprise Linux High Availability for x86_64
                         Red Hat Ansible Engine
                         Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                         Red Hat Enterprise Linux Server
    SKU:                 MCT3718
    Contract:
    Account:             540155
    Serial:              6960416325892182336
    Pool ID:             8a85f999655dc45a01658350d80d7164
    Provides Management: Yes
    Active:              True
    Quantity Used:       1
    Service Level:       Premium
    Service Type:        L1-L3
    Status Details:      Subscription is current
    Subscription Type:   Standard
    Starts:              08/28/2018
    Ends:                09/19/2019
    System Type:         Physical
  2. Note the Pool ID so that you can attach it to your Satellite host. Your Pool ID is 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=pool_id

    The output should be 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 Infrastructure Subscription
    Provides:            Red Hat Beta
                         Red Hat Satellite
                         Red Hat Satellite with Embedded Oracle
                         Red Hat Satellite 5 Managed DB
                         Red Hat Satellite Proxy
                         Red Hat Software Collections (for RHEL Server)
                         Red Hat Satellite Capsule
                         Red Hat Software Collections Beta (for RHEL Server)
                         Red Hat Enterprise Linux High Availability for x86_64
                         Red Hat Ansible Engine
                         Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                         Red Hat Enterprise Linux Server
    SKU:                 MCT3718
    Contract:
    Account:             540155
    Serial:              6960416325892182336
    Pool ID:             8a85f999655dc45a01658350d80d7164
    Provides Management: Yes
    Active:              True
    Quantity Used:       1
    Service Level:       Premium
    Service Type:        L1-L3
    Status Details:      Subscription is current
    Subscription Type:   Standard
    Starts:              08/28/2018
    Ends:                09/19/2019
    System Type:         Physical

2.1.3. Configuring Repositories

  1. Disable all existing repositories.

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

    # subscription-manager repos --enable=rhel-7-server-rpms \
    --enable=rhel-server-rhscl-7-rpms \
    --enable=rhel-7-server-satellite-6.5-rpms \
    --enable=rhel-7-server-satellite-maintenance-6-rpms \
    --enable=rhel-7-server-ansible-2.6-rpms
    Note

    If you are installing Red Hat Satellite as a virtual machine hosted on Red Hat Virtualization (RHV), you also need to enable the Red Hat Common repository, and install RHV guest agents and drivers. For more information, see Installing the Guest Agents and Drivers on Red Hat Enterprise Linux in the Virtual Machine Management Guide for more information.

  3. Clear out any metadata left from any non-Red Hat yum repositories.

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

    # yum repolist enabled

2.1.4. Installing the Satellite Server Packages

You must update all packages before installing the Satellite Server packages. After installation, you must perform the initial configuration of Satellite Server, including configuring server certificates, setting your user name, password, and the default organization and location.

  1. Update all packages:

    # yum update
  2. Install the Satellite Server packages:

    # yum install satellite

2.2. Performing the Initial Configuration

This section details how to perform the initial configuration of the host operating system when installing Red Hat Satellite Server. This includes synchronizing the time, installing the sos package, and specifying an installation option.

Before you continue, consider which manifests or packages are relevant for your environment. For more information on manifests, see Managing Subscriptions in the Red Hat Satellite Content Management Guide.

2.2.1. Synchronizing Time

You must start and enable a time synchronizer on the host operating system to minimize the effects of time drift. If a system’s time is incorrect, certificate verification can fail.

Two NTP based time synchronizers are available: chronyd and ntpd. The chronyd implementation is specifically recommended for systems that are frequently suspended and for systems that have intermittent network access. The ntpd implementation should only be used when you specifically need support for a protocol or driver not yet supported by chronyd.

For more information about the differences between ntpd and chronyd, see Differences Between ntpd and chronyd in the Red Hat Enterprise Linux 7 System Administrator’s Guide.

Synchronizing Time using chronyd

  1. Install chronyd.

    # yum install chrony
  2. Start and enable the chronyd service.

    # systemctl start chronyd
    # systemctl enable chronyd

2.2.2. Installing the SOS Package on the Host Operating System

You should install the sos package on the host operating system. The sos package enables you to collect configuration and diagnostic information from a Red Hat Enterprise Linux system. You can also use it to provide the initial system analysis, which is required when opening a service request with Red Hat Technical Support. For more information on using sos, see the Knowledgebase solution What is a sosreport and how to create one in Red Hat Enterprise Linux 4.6 and later? on the Red Hat Customer Portal.

Install the sos package.

# yum install sos

2.2.3. Specifying Installation Options

Satellite Server is installed using the satellite-installer installation script and as part of the initial configuration, you either automatically or manually configure Satellite.

Choose from one of these two methods:

  • Automatic Configuration - This method is performed by using an answer file to automate the configuration process when running the installation script. An answer file is a file containing a list of parameters that are read by a command or script. The default Satellite answer file is /etc/foreman-installer/scenarios.d/satellite-answers.yaml. The answer file in use is set by the answer_file directive in the /etc/foreman-installer/scenarios.d/satellite.yaml configuration file.

    To perform the initial configuration using the installation script with an answer file, see Section 2.2.3.2, “Performing the Initial Configuration Automatically using an Answer File”.

  • Manual Configuration - This method is performed by running the installation script with one or more command options. The command options override the corresponding default initial configuration options and are recorded in the Satellite answer file. You can run the script as often as needed to configure any necessary options.

    To perform the initial configuration using the installation script with command-line options, see Section 2.2.3.1, “Performing the Initial Configuration Manually”.

Note

Depending on the options that you use when running the Satellite installer, the configuration can take several minutes to complete. An administrator is able to view the answer file to see previously used options for both methods.

2.2.3.1. Performing the Initial Configuration Manually

This initial configuration procedure creates an organization, location, user name, and password. After the initial configuration, you can create additional organizations and locations if required. The initial configuration also installs MongoDB and PostgreSQL databases on the same server. Depending on your deployment, using external databases can benefit performance.

The installation process can take tens of minutes to complete. If you are connecting remotely to the system, consider using a utility such as screen that allows suspending and reattaching a communication session so that you can check the installation progress in case you become disconnected from the remote system. The Red Hat Knowledgebase article How to use the screen command describes installing screen; alternately see the screen manual page for more information. If you lose connection to the shell where the installation command is running, see the log at /var/log/foreman-installer/satellite.log to determine if the process completed successfully.

Manually configuring Satellite Server

Use the satellite-installer --scenario satellite --help command to display the available options and any default values. If you do not specify any values, the default values are used.

It is recommended to specify a meaningful value for the option: --foreman-initial-organization. This can be your company name. An internal label that matches the value is also created and cannot be changed afterwards. If you do not specify a value, an organization called Default Organization with the label Default_Organization is created. You can rename the organization name but not the label.

By default, all configuration files configured by the installer are managed by Puppet. When satellite-installer runs, it overwrites any manual changes to the Puppet managed files with the initial values. By default, Satellite Server is installed with the Puppet agent running as a service. If required, you can disable Puppet agent on Satellite Server using the --puppet-runmode=none option.

If you want to manage DNS files and DHCP files manually, use the --foreman-proxy-dns-managed=false and --foreman-proxy-dhcp-managed=false options so that Puppet does not manage the files related to the respective services. For more information on how to apply custom configuration on other services, see Appendix A, Applying Custom Configuration to Red Hat Satellite.

If you want to use external databases with Satellite, before you run the satellite installer tool, you must set up and point to external databases. For more information, see Using External Databases with Satellite in Installing Satellite Server from a Connected Network.

# satellite-installer --scenario satellite \
--foreman-initial-organization "initial_organization_name" \
--foreman-initial-location "initial_location_name" \
--foreman-admin-username admin_user_name \
--foreman-admin-password admin_password

The script displays its progress and writes logs to /var/log/foreman-installer/satellite.log.

2.2.3.2. Performing the Initial Configuration Automatically using an Answer File

You can use answer files to automate installations with customized options. The initial answer file is sparsely populated and after you run the satellite-installer script the first time, the answer file is populated with the standard parameter values for installation. You can change the configuration of Satellite Server at any time.

You should use the FQDN instead of the IP address where possible in case of network changes.

Automatically configuring Satellite Server using an Answer File

  1. Copy the default answer file /etc/foreman-installer/scenarios.d/satellite-answers.yaml to a location on your local file system.

    # cp /etc/foreman-installer/scenarios.d/satellite-answers.yaml \
    /etc/foreman-installer/scenarios.d/my-answer-file.yaml
  2. To view all of the configurable options, enter the satellite-installer --scenario satellite --help command.
  3. Open your copy of the answer file, edit the values to suit your environment, and save the file.
  4. Open the /etc/foreman-installer/scenarios.d/satellite.yaml file and edit the answer file entry to point to your custom answer file.

    :answer_file: /etc/foreman-installer/scenarios.d/my-answer-file.yaml
  5. Run the satellite-installer script.

    # satellite-installer --scenario satellite
  6. If you have been installing in a disconnected environment, unmount the ISO images.

    # umount /media/sat6
    # umount /media/rhel7-server

2.2.4. Creating a Subscription Allocation in Customer Portal

You can access your subscription information on the Red Hat Customer Portal. You can also assign subscriptions for use in on-premise management applications, such as Red Hat Satellite, using subscription allocations.

  1. Open https://access.redhat.com/ in your browser and log in to the Red Hat account that you used to register the system to Red Hat Subscription Management.
  2. Navigate to Subscriptions in the upper-left corner of the Customer Portal.
  3. Navigate to Subscription Allocations.
  4. Click Create New subscription allocation.
  5. In the Name field, enter a name.
  6. From the Type list, select the type and version that corresponds to your Satellite Server.
  7. Click Create.

2.2.5. Adding Subscriptions to an Allocation

The following procedure explains how to add subscriptions to an allocation.

  1. Open https://access.redhat.com/ in your browser and log in to the Red Hat account that you used to register the system to Red Hat Subscription Management.
  2. Navigate to Subscriptions in the upper-left corner of the Customer Portal.
  3. Navigate to Subscription Allocations.
  4. Click the allocation that you want to update.
  5. Click the Subscriptions tab.
  6. Click Add Subscriptions.
  7. A list of your Red Hat product subscriptions appears. Enter the Entitlement Quantity for each product.
  8. Click Submit to complete the assignment.

When you have added subscriptions to the allocation, export the manifest file.

2.2.6. Exporting a Subscription Manifest from the Customer Portal

While viewing a subscription allocation that has at least one subscription, you can export a manifest in either of two places:

  • From the Details tab, under the Subscription section, by clicking the Export Manifest button.
  • From the Subscriptions tab, by clicking the Export Manifest button.

When the manifest is exported, the Customer Portal encodes the selected subscriptions certificates and creates a .zip archive. This is the Subscription Manifest, which can be uploaded into the Satellite Server.

2.2.7. Importing a Subscription Manifest into the Satellite Server

Both the Red Hat Satellite 6 web UI and CLI provide methods for importing the manifest.

For Web UI Users

  1. Ensure the context is set to the organization you want to use.
  2. Navigate to Content > Subscriptions.
  3. Click Manage Manifest to display the manifest page for the organization.
  4. Click Choose file, select the Subscription Manifest, then click Upload.
  5. Click Choose file and select the manifest archive in a .zip format that you have exported from the Customer Portal.

For CLI Users

The Red Hat Satellite 6 CLI requires the manifest to be on the Satellite Server. On your local client system, copy the manifest to the Satellite Server:

[user@client ~]$ scp ~/manifest_file.zip root@satellite.example.com:~/.

Then import it using the following command:

[root@satellite ~]# hammer subscription upload \
--file ~/manifest_file.zip \
--organization "organization_name"

After a few minutes, the CLI reports a successful manifest import.

When you complete this section, you can enable repositories and import Red Hat content. This is a prerequisite for some of the following procedures. For more information, see Importing Red Hat Content in the Red Hat Satellite Content Management Guide.