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.

Red Hat Satellite 6.4 uses Puppet 5 by default. Review and update your Puppet modules to support Puppet 5. For more information about updating your Puppet modules to support Puppet 5, see the Upgrading Puppet section in the Satellite 6.4 Upgrading and Updating Red Hat Satellite guide.

Note

Ensure you have completed upgrading your Puppet modules to support Puppet 4 while on Red Hat Satellite 6.3. For information on upgrading Puppet modules to Puppet 4, see the Upgrading Puppet section in the Satellite 6.3 Upgrading and Updating Red Hat Satellite guide.

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 need to identify and attach an available Satellite subscription. 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. Every Red Hat subscription is identified by a Pool ID.

  1. Identify your Satellite subscription.

    # subscription-manager list --available --matches 'Red Hat Satellite'

    This command performs a case-insensitive search of all available subscriptions' fields, including Subscription Name and Provides, matching any instances of Red Hat Satellite. Subscriptions are classified as available if they are not already attached to a system. The search string may also contain the wildcards ? or * to match a single character or zero or more characters, respectively. The wildcard characters may be escaped with a backslash to represent a literal question mark or asterisk. Likewise, to represent a backslash, it must be escaped with another backslash.

    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 allow you to see if your subscription is being consumed by another system.

    If the output is too long, pipe it into a pager utility, such as less or more, so that you can look over the output one screenful at a time.

    1. Regardless of which form of the subscription-manager command is run, the output should be 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 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
    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

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.4-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 B, 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 \
--foreman-proxy-dns-managed=false \
--foreman-proxy-dhcp-managed=false

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

If you have been installing in a disconnected environment, unmount the ISO images.

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

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. If you have already installed Satellite Server using the method described in Section 2.2.3.1, “Performing the Initial Configuration Manually”, then you do not need to use this method. You can, however, use it to make changes to 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. Navigate to Subscription Allocations.
  2. Select the name of the subscription you want to change.
  3. Click the Subscriptions tab.
  4. Click Add Subscriptions.
  5. A list of your Red Hat product subscriptions appears. Enter the Entitlement Quantity for each product.
  6. 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 > Red Hat Subscriptions.
  3. Click Manage Manifest to display the manifest page for the organization.
  4. Click Choose file, select the Subscription Manifest, then click Upload.

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.