User Guide
A guide to using Satellite entitlement management software.
Edition 3
Abstract
Chapter 1. Red Hat Satellite Server 6 Basic Configuration Workflow
Before continuing with this workflow you must have successfully installed a Red Hat Satellite 6 Server and any required Capsule Servers. See Red Hat Satellite Installation Guide for further information.
These are the initial procedures to configure a basic Red Hat Satellite Server. You need the administrator privileges for the majority of the following actions:
- Log in to the Satellite Server. See Section 2.1, “Logging in to Red Hat Satellite” for more information.For information about changing the password, see Section 2.2, “Changing the Password in Red Hat Satellite”.
- Edit the Red Hat Satellite Integrated Capsule Server to select the desired organizations and locations. The name of the Satellite Integrated Capsule Server will be the same as the hostname of the server that Satellite 6 Server is installed on. See Section 4.1.3, “Editing an Organization” and Section 4.2.2, “Editing a Location” for more information.
- Edit the desired location to select the resources to be associated with that location. See Section 4.2, “Locations” for more information.
- Edit the default organization to select the resources to be associated with that organization. See Section 4.1, “Organizations” for more information.
These are the initial procedures to configure a basic Red Hat Satellite Server:
- Create a domain. See Section 13.3.1, “Domains” for more information.
- Create a subnet. See Section 13.3.2, “Subnets” for more information.
- Create the desired life cycle environments. See Section 4.3, “Life Cycle Environments” for more information.
- Create any desired custom products. See the Creating a Product section in the Installation Guide for more information.
- Choose the desired Red Hat Repositories.
- Create a manifest from the Red Hat Customer Portal. See the Setting up a Manifest section in the Installation Guide for more information.
- Upload the manifest in the Satellite Server web interface. This will propagate the subscription information into the Satellite Server. See the Uploading a Subscription Manifest section in the Installation Guide for more information.
- Once the manifest has been uploaded, the Red Hat Repositories available from valid Red Hat Subscriptions are imported into the Satellite Server. Choose which repositories are relevant to your organization. See the Uploading a Subscription Manifest section in the Installation Guide for more information.
- Optional:
- Red Hat source repositories update content based on security errata, bug fixes, and enhancements. To ensure that the Satellite Server is updated automatically, Creating a Synchronization Plan and Creating a Synchronization Schedule sections in the Installation Guide are recommended practices.
- Manually synchronize content. See the Synchronization Status section in the Installation Guide for more information.
- Create a content view with the desired repositories, puppet modules, and filters. Publish the content view then promote it to other life cycle environments as required. See Chapter 6, Using Content Views for more information.
- Optional:
- Create a host collection and assign it to the desired life cycle environment and content view. See Chapter 16, Configuring Host Collections for more information.
- Create an activation key assigning it to the desired life cycle environment and content view. See Section 11.1, “Creating an Activation Key” for more information.
- Edit an existing provisioning template and associate it with the previously created operating system. See Section 13.3.8, “Provisioning Templates” for more information.
- Edit the operating system created by default when creating the content view with the desired details and ensure it is associated with the desired partition table and provisioning template. See Section 13.3.10, “Operating Systems” for more information.
- Create a installation medium with the desired details. Ensure that the media is associated with the required locations and organizations. See Section 13.3.6, “Installation Media” for more information.
- Create a host group with the desired details. See Section 13.1, “Creating a Host Group” for more information.
To create a backup of the Red Hat Satellite Server, see Section 18.1, “Backing up Red Hat Satellite Server”.
Chapter 2. Accessing Red Hat Satellite
2.1. Logging in to Red Hat Satellite
- Access the Satellite server using a web browser pointed to the following address:
https://HOSTNAME/To identify your hostname, use thehostnamecommand at the prompt:# hostname
Important
An untrusted connection warning appears on your web browser when accessing Satellite for the first time. Accept the self-signed certificate and add the Satellite URL as a security exception to override the settings. This procedure might differ depending on the browser being used.Only do this if you are sure that the Satellite URL is a trusted source.
Figure 2.1. Untrusted Connection Warning
- Enter the user name and password created during the configuration process. If a user was not created during the configuration process, the default user name is admin.
When you have successfully logged in, you are taken to the Satellite dashboard. The dashboard contains an overview of the Satellite and the hosts registered.
Note
# foreman-rake permissions:reset Reset to user: admin, password: qwJxBptxb7Gfcjj5
2.2. Changing the Password in Red Hat Satellite
Procedure 2.1. Changing Password
- Click your user name at the top right corner.
- Select from the menu.
- Type in a new password in the Password field.
- Type in the new password again in the Verify field.
- Click the button to save your new password.
Chapter 3. Starting and Stopping Red Hat Satellite
katello-service command to manage Satellite services from the command line. This is useful when upgrading Satellite or when creating a backup, see the Red Hat Satellite Installation Guide for details on these use cases.
katello-installer command, all Satellite services are started and enabled automatically. View the list of these services by executing:
# katello-service list
# katello-service status
# katello-service stop
# katello-service start
# katello-service restart
Chapter 4. Configuring Organizations, Locations and Life Cycle Environments

Figure 4.1. Example Topology for Red Hat Satellite 6
4.1. Organizations
Default_Organization.
Important
4.1.1. Creating an Organization
Procedure 4.1. To Create an Organization:
- Navigate to → .
- Click .
- Insert the name of the new organization in the Name field.
- Insert the label of the new organization in the Label field.
- Insert a description of the new organization in the Description field.
- Click .
- Select the hosts to assign to the new organization.
- Click to assign all hosts with no organization to the new organization.
- Click to manually select and assign the hosts with no organization.
- Click to skip assigning hosts.
- Specify the configuration details of the organization such as Capsules, subnets or compute resources. You can modify these settings later as described in Section 4.1.3, “Editing an Organization”.
- Click .
4.1.2. Creating an Organization Debug Certificate
Procedure 4.2. To Create a New Organization Debug Certificate:
- Navigate to → .
- Select an organization for which you want to generate a debug certificate.
- Click . This generates a debug certificate. Save the certificate file in a secure location.
Note
4.1.3. Editing an Organization
Procedure 4.3. To Edit an Organization:
- Navigate to → .
- Click the name of the organization to be edited.
- Select the resource to edit from the list on the left.
- Click the name of the desired items to add them to the Selected Items list.
- Click .
Note
4.1.4. Removing an Organization
Procedure 4.4. To Remove an Organization:
- Navigate to → .
- Select from the drop-down menu to the right of the name of the organization you want to remove.
- An alert box appears:
Delete Organization?
- Click to delete the organization.
4.2. Locations
Important
4.2.1. Creating a Location
Procedure 4.5. To Create a Location:
- Navigate to → .
- Click .
- Insert the name of the new location in the Name field. If you want to create a nested location, select a Parent location from the drop-down menu. Optionally, specify a Description of the location. Click .
- Select the hosts to assign to the new location.
- Click to assign all hosts with no location to the new location.
- Click to manually select and assign the hosts with no location.
- Click to skip assigning hosts.
- Specify the configuration details of the location such as Capsules, subnets or compute resources. You can modify these settings later as described in Section 4.2.2, “Editing a Location”.
- Click .
4.2.2. Editing a Location
Procedure 4.6. To Edit a Location:
- Navigate to → .
- Click the name of the location to be edited.
- Select the resource to edit from the list on the left.
- Click the name of the desired items to add them to the Selected Items list.
- Click .
4.2.3. Removing a Location
Procedure 4.7. To Remove a Location:
- Navigate to → .
- Select from the drop-down menu to the right of the name of the location you want to remove.An alert box appears:
Delete Location?
- Click .
4.3. Life Cycle Environments

Figure 4.2. An Environment Path Containing Four Environments
4.3.1. Creating Life Cycle Environments
Procedure 4.8. To Create a Life Cycle Environment:
- Select an organization from the menu in the top left hand corner.
- Click → and then click New Environment Path.
- Insert a name and a label (automatically fills in the Name field input) for the life cycle environment. The Description field is optional.
- Click Save to create the environment.
4.3.2. Promoting Content Views
Procedure 4.9. To Promote a Content View:
- On the main menu, click → .
- In the Name column, click the name of the content view that you want to promote.
- On the Versions tab, identify the latest version, and click .
- Identify the promotion path where you want to promote the content view, select the appropriate life cycle environment, and click .
- After the promotion has completed, the Versions tab updates to display the new status of your content views.
4.3.3. Removing Life Cycle Environments
Procedure 4.10. To Remove a Life Cycle Environment:
- On the main menu, click → .
- Click the name of the life cycle environment that you want to remove, and then click .
- In the confirmation dialog box, click to remove the environment.
Note
4.4. Viewing Import History
Procedure 4.11. Viewing Import History
- Click → .
- Click the button.
- Click the Import History tab.
Chapter 5. Using the Red Hat Satellite Content Dashboard
- Content Host Subscription Status
- An overview of the subscriptions currently consumed by the hosts registered to Satellite. A subscription is a purchased certificate that unlocks access to software, upgrades, and security fixes for hosts. The following table shows the possible states of subscriptions.
Table 5.1. Host Subscription States
StateDescriptionIconInvalid Subscriptions Hosts that have products installed, but have not consumed a subscription. These hosts need attention immediately.
Insufficient Subscriptions Hosts that have consumed a subscription and have a valid entitlement, but that are not consuming their full entitlements. These hosts should be monitored to ensure they are configured as expected.
Current Subscriptions Hosts that have a valid entitlement and are consuming their full entitlements.
Click the subscription type to view content hosts associated with subscriptions of the selected type. - Latest Notifications
- A list of messages produced by hosts including administration information, product and subscription changes, and any errors. Click the gear button to change the number of notifications displayed.Monitor this section for global notifications sent to all users and to detect any unusual activity or errors.
- Sync Overview
- An overview of all products or repositories enabled in Satellite and their Synchronization status. All products that are in the queue for synchronization, are unsynchronized or have been previously synchronized are listed in this section. Click a product name to view the synchronization status. Click the gear button to change the number of notifications displayed.
- Host Collections
- A list of all host collections in Satellite and their status, including the number of content hosts in each host collection. Click a host collection name to view that host collection. Click the gear button to change the number of notifications displayed.
- Current Subscription Totals
- An overview of the current subscription totals that shows the number of active subscriptions, the number of subscriptions that expire in the next 120 days, and the number of subscriptions that have recently expired. Click the number to list subscriptions of the selected type.
- Content Views Overview
- A list of all Content Views in Satellite and their publish status. Click the gear button to change the number of notifications displayed.
- Errata Overview
- A list of all errata available for hosts registered to Satellite. Click the gear button to change the number of notifications displayed.
Chapter 6. Using Content Views

Figure 6.1. This diagram details the creation of new versions of a Content View. These content view versions are promoted along an environment path during the application life cycle.
6.1. Creating a Content View
Procedure 6.1. To Create a Content View:
- Log in as a Satellite administrator.
- Click → .
- Click .
- Specify the Name of the content view. The Label field is automatically populated when the Name field is filled out. Optionally, provide a description of the content view.
- Select the Composite View check box to combine a series of published content views into one and choose which content view.
Note
If you select Composite View it will override any filtering and allow you to choose a group of published content views and bundle those views into a composite one. - Click .
6.2. Adding Repositories to the Content View
Procedure 6.2. To Associate a Repository with a Content View:
- Click → and choose the Content View to add repositories to.
- Depending on the type of content you want to store:
- Click Yum Content and select from the drop-down menu. From the submenu, click .
- Click Puppet Modules and click .
- Click Docker Content and click in the submenu.
- Select the repositories to add and click .
6.3. Filtering Content
6.3.1. Creating a Filter
Procedure 6.3. To Create a Filter:
- Navigate to → and select the Content View you want to filter.
- Click → and click .
- Specify the name of the new filter in the Name field and choose a content type from the Content Type drop-down menu. Choose whether the filter includes or excludes the selected content type by selecting the Type drop-down menu. Optionally, insert a description in the Description field.
- Click to save your new filter.
6.3.2. Adding Content to a Filter
Procedure 6.4. To Add Content to a Filter:
- Navigate to → and select the Content View you want to filter.
- Click → and click the name of the filter you want to edit. Depending on the type of filter selected, perform the following actions:
- If the filter is made for packages, specify a package name on the Packages subtab, and select a value from the drop-down menu. Click to add the package to the filter.
- If the filter is made for package groups, click the Add subtab, and choose the desired package group. Click .
- If the filter is made for errata, click the Add subtab. Select the errata type (Security, Enhancement, or Bugfix), and specify a start date and end date. Click .
- If the filter is made for errata - date and type, on the Erratum Date Range subtab, select the errata type (Security, Enhancement, or Bugfix) and specify a start date and end date. Click .
- On the Affected Repositories subtab, choose whether the filter will affect all or a subset of repositories. If you choose a subset of repositories, select the desired repositories and click .
- Click . Insert a comment if desired, then click .
6.3.3. Removing Content from a Filter
Procedure 6.5. To Remove Content from a Filter:
- Navigate to → and select the Content View you want to filter.
- Click → and click the name of the filter you want to edit. Depending on the type of filter selected, perform the following actions:
- If the filter is made for packages, click the Packages subtab and select the Package Name check box next to the package to be removed. Click to remove the package from the filter.
- If the filter is made for package groups, click the List/Remove subtab and select the Name check box next to the package group to be removed. Click to remove the package group from the filter.
- If the filter is made for errata, click the List/Remove subtab select the Errata ID check box next to the errata to be removed. Click to remove the errata from the filter.
- If the filter is made for errata - date and type, on the Erratum Date Range subtab, check the errata type (Security, Enhancement, or Bugfix). Specify the start date and end date. Click .
- On the Affected Repositories subtab, choose whether the filter will affect all or a subset of repositories. If you choose a subset of repositories, select the desired repositories and click .
- Click . Insert a comment if desired, and click .
6.3.4. Removing a Filter
Procedure 6.6. To Remove a Filter:
- Navigate to → and select the Content View you want to filter.
- Click → and select the check box next to the name of the package filter you want to remove.
- Click .
6.4. Publishing a Content View
Procedure 6.7. To Publish a Content View Definition:
- Click → .
- Click on the content view to be published.
- Click .
- Fill in a comment.
- Click .
Chapter 7. Searching for Content
7.1. Basic Content Search
Procedure 7.1. To Perform a Content Search:
- Click → .
- Select either , , , , , or from the Content drop-down menu.
- Enter the name of the content view, product, repository, package, errata, or puppet module you are searching for in the field, and click .
7.2. Content Comparison across Environments
Procedure 7.2. To Search for and Compare Content Across Different Environments:
- Click → .
- Select the entity type that you want to compare from the drop-down menu.
- Enter the name of the entity in the field and click .
- On the right panel, move your cursor over the "plus" () icon, select the environments you want to compare, and click .
- Select either , , or from the drop-down menu to filter your results.
Chapter 8. Viewing and Applying Errata
Important
- Security Advisory describes fixed security issues found in the package. The security impact of the issue can be Low, Moderate, Important, or Critical.
- Bug Fix Advisory describes bug fixes for the package.
- Product Enhancement Advisory describes enhancements and new features added to the package.
Note
- Applicable: erratum applies to one or more content hosts, which means it updates packages present on the content host. Applicable errata are not yet accessible by the content host.
- Installable: erratum applies to one or more content hosts and it has been made available to the content host. Installable errata are present in the content host’s life cycle environment and content view, but are not yet installed. This way, errata can be installed by users who have permissions to manage content hosts, but are not entitled for errata management at higher levels.
8.1. Inspecting Available Errata
Procedure 8.1. To Inspect Available Errata:
- Navigate to → to view the list of available errata.
- Use the filtering tools at the top of the page to limit the number of displayed errata:
- Select the repository to be inspected from the drop-down list. All Repositories is selected by default.
- The Applicable check box is selected by default to view only errata applicable to the selected repository. Select the Installable check box to view only errata marked as installable.
- To search the table of errata, type the query in the Search field in the form of:
parameter operator value
See Table 8.1, “Parameters Available for Errata Search” for the list of parameters available for search. Find the list of applicable operators in Table 17.2, “Supported Operators for Granular Search”. Automatic suggestion works as you type. You can also combine queries with the use of and and or operators. For example, to display only security advisories related to the kernel package, type:type = security and package_name = kernel
Press Enter to start the search.
- Click the Errata ID of the erratum you want to inspect:
- The Details tab contains the description of the updated package as well as documentation of important fixes and enhancements provided by the update.
- On the Content Hosts tab, you can apply the erratum to selected content hosts as described in Section 8.2, “Applying Errata to Content Hosts”.
- The Repositories tab lists repositories that already contain the erratum. You can filter repositories by the environment and content view, and search for them by the repository name.
Table 8.1. Parameters Available for Errata Search
| Parameter | Description | Example |
|---|---|---|
| bug | Search by the Bugzilla number. | bug = BZ#1172165 |
| cve | Search by the CVE number. | cve = CVE-2015-0235 |
| id | Search by the errata ID. The auto-suggest system displays a list of available IDs as you type. | id = RHBA-2014:2004 |
| issued | Search by the issue date. You can specify the exact date, like "Feb16,2015", or use keywords, for example "Yesterday", or "1 hour ago". The time range can be specified with the use of the "<" and ">" operators. | issued < "Jan 12,2015" |
| package | Search by the full package build name. The auto-suggest system displays a list of available packages as you type. | package = glib2-2.22.5-6.el6.i686 |
| package_name | Search by the package name. The auto-suggest system displays a list of available packages as you type. | package_name = glib2 |
| severity | Search by the severity of the issue fixed by the security update. Specify Critical, Important, or Moderate. | severity = Critical |
| title | Search by the advisory title. | title ~ openssl |
| type | Search by the advisory type. Specify security, bugfix, or enhancement. | type = bugfix |
| updated | Search by the date of the last update. You can use the same formats as with the issued parameter. | updated = "6 days ago" |
8.2. Applying Errata to Content Hosts
Procedure 8.2. To Apply a Single Erratum to Content Hosts:
- Navigate to → to view the list of available errata.
- Click the Errata ID of the erratum you want to apply.
- On the Content Hosts tab, select one or more content hosts to be updated. You can filter the available content hosts by the environment, and search for them by name. If you select the check box at the top of the page, only the content hosts that already have the installable erratum in their life cycle environment are displayed.
- Click .
- If the erratum is applicable, a new minor version of the content view is created. If you select Apply Errata to Content Hosts Immediately after publishing, Satellite will automatically install the erratum on the content host when promoting the updated content view. Otherwise, the erratum will be made available for installation on the content host. Installable errata can be applied later using the same procedure, or manually per content host as described in Procedure 8.4, “To Apply Installable Errata to a Content Host:”.
- If the erratum is installable, which means it is already present in the selected content host's life cycle environment but is not installed yet, no new content view version is created.
- Click .
Procedure 8.3. To Apply Multiple Errata to Content Hosts:
- Navigate to → to view the list of available errata.
- Select errata you want to apply by selecting the check box to the left of the Errata ID field.
- Click to apply all selected errata.
- Select one or more content hosts to be updated. You can filter the available content hosts by the environment, and search for them by name. If you select the check box at the top of the page, only content hosts that already have the installable errata in their life cycle environment are displayed.
- Click . If some of the selected errata are applicable, a new minor version of the content view is created. If you select Apply Errata to Content Hosts Immediately after publishing, Satellite will automatically install errata on the content host when promoting the updated content view. If only installable errata are selected, they are installed without creating a new content view version.
Procedure 8.4. To Apply Installable Errata to a Content Host:
- Navigate to → .
- Click the name of the content host you want to manage.
- On the Errata tab, select errata you want to install.
- Click to install the selected updates.
8.3. Subscribing to Errata Notifications
Chapter 9. Security Compliance Management with OpenSCAP
- XCCDF: The Extensible Configuration Checklist Description Format (version 1.2)
- OVAL: Open Vulnerability and Assessment Language (version 5.11)
- Asset Identification (version 1.1)
- ARF: Asset Reporting Format (version 1.1)
- CCE: Common Configuration Enumeration (version 5.0)
- CPE: Common Platform Enumeration (version 2.3)
- CVE: Common Vulnerabilities and Exposures
- CVSS: Common Vulnerability Scoring System (version 2.0)
9.1. Installation
- Install the OpenSCAP packages on the Satellite server.
- Install the OpenSCAP packages on all Satellite Capsule servers.
- Import the Puppet classes and associate them with specific environments.
Note
Procedure 9.1. Install OpenSCAP
- On the Satellite server, install the ruby193-rubygem-foreman_openscap RPM package.
- Restart the
httpdservice.On Red Hat Enterprise Linux 7# systemctl restart httpd
On Red Hat Enterprise Linux 6# service httpd restart
This action adds to the Satellite web UI a Compliance section, under the menu, containing the following pages: - On the Satellite server and all Satellite Capsule servers, install the
puppet-foreman_scap_clientandrubygem-smart_proxy_openscapRPM packages.Thepuppet-foreman_scap_clientpackage provides the Puppet classes required to set up hosts to perform scans via OpenSCAP and creates the Cron job for periodic scanning as specified by the applicable policy. - On the Satellite server and all Satellite Capsule servers, restart the
foreman-proxyservice.Red Hat Enterprise Linux 7#
systemctl restart foreman-proxyRed Hat Enterprise Linux 6#
service foreman-proxy restart - In the Satellite web UI, select → → . Select the line with the new module and click to load the module.
9.2. SCAP Concepts
9.2.1. SCAP Content
root user account. Rules can be grouped into one or more profiles, allowing multiple profiles to share a rule. SCAP content consists of both rules and profiles.
9.2.2. XCCDF Profile
9.2.3. Compliance Policy
9.2.4. Elements of a Compliance Policy
- SCAP Content (including the XCCDF profile)
- Schedule at which the policy will be run on the target host(s)
- Locations, organizations and host groups to which it applies
SCAP Content tab provides the option of selecting the SCAP content and XCCDF profile for this policy. Once you have selected these, the SCAP Content tab provides the name of the SCAP content file which will be distributed to the directory /var/lib/openscap/content/ on all target hosts.

Figure 9.1. Elements of a Compliance Policy
9.2.5. Creating a Policy
Procedure 9.2. To Create a Policy:
- In the Satellite web UI, navigate to → , click and follow the wizard’s steps.
- Enter a name for this policy, a description (optional), then click .
- Select the SCAP Content and XCCDF Profile to be applied, then click .
- Specify the scheduled time when the policy is to be applied, then click .Select , or from the Period drop-down list.
- If you select , also select the desired day of the week from the drop-down list.
- If you select , also specify the desired day of the month in the Day of month field.
- If you select , enter a valid Cron expression in the Cron line field.
The option allows for greater flexibility in the policy's schedule than either the or options. - Select the location(s) to which the policy is to be applied, then click .
- Select the organizations to which the policy is to be applied, then click .
- Select the host group(s) to which the policy is to be applied, then click .
- Click .

Figure 9.2. Creating a Compliance Policy
9.2.6. Viewing a Policy
- In the Satellite web UI, navigate to → .
- Click .
9.2.7. Editing a Policy
- In the Satellite web UI, navigate to → .
- From the drop-down list to the right of the policy's name, select .
- Edit the necessary attributes.
- Click .
9.2.8. Deleting a Policy
- In the Satellite web UI, navigate to → .
- From the drop-down list to the right of the policy's name, select .
- Click in the confirmation message.
9.2.9. Compliance Policy Dashboard
- A ring chart illustrating a high-level view of hosts' compliance with the policy.
- A statistical breakdown of hosts' compliance with the policy, in tabular format.
- Links to the policy's latest reports.

Figure 9.3. Compliance Policy Dashboard
9.3. Compliance Reports Overview

Figure 9.4. Compliance Reports Overview
9.3.1. Searching Compliance Reports
and, not and has.
Logical Operators
not: Negates an expression.has: Object must have a specified property.and: Combines search criteria.
failed > 5
rhel7_audit from an hour ago.
"1 hour ago" && compliance_policy = date = "1 hour ago" && compliance_policy = rhel7_audit
You can bookmark a search, allowing you to easily apply the same search criteria. To create a bookmark:
Procedure 9.3. To Bookmark a Search
- Apply your search criteria.
- From the Search list select Bookmark this search.
- Complete the Name field.If you want the bookmark available to other users of this Satellite instance, select the Public check box.
- Click .
9.3.2. Viewing a Compliance Report
- Introduction
- Evaluation Characteristics
- Compliance and Scoring
- Rule Overview
9.3.2.1. Evaluation Characteristics
Evaluation Characteristics
-
Target machine - The fully-qualified domain name (FQDN) of the evaluated host. Example:
test-system.example.com. -
Benchmark URL - The URL of the SCAP content against which the host was evaluated. Example:
/var/lib/openscap/content/1fbdc87d24db51ca184419a2b6f. -
Benchmark ID - The identifier of the benchmark against which the host was evaluated. A benchmark is a set of profiles. Example:
xccdf_org.ssgproject.content_benchmark_RHEL_7. -
Profile ID - The identifier of the profile against which the host was evaluated. Example:
xccdf_org.ssgproject_content_profile_rht-ccp. -
Started at - The date and time at which the evaluation started, in ISO 8601 format. Example:
2015-09-12T14:40:02. -
Finished at - The date and time at which the evaluation finished, in ISO 8601 format. Example:
2015-09-12T14:40:05. -
Performed by - The local account name under which the evaluation was performed on the host. Example:
root.

Figure 9.5. Evaluation Characteristics
9.3.2.2. Compliance and Scoring

Figure 9.6. Compliance and Scoring
9.3.2.3. Rule Overview

Figure 9.7. Rule Overview
9.3.2.4. Examining Rule Results

Figure 9.8. Rule Evaluation Result
Warning
9.4. Uploading Additional SCAP Content
Procedure 9.4. To Upload Additional SCAP Content:
- Log in to the Satellite web UI.
- Navigate to → and click Upload New SCAP Content.
- Enter a title in the Title text box. For example:
RHEL 7.2 SCAP Content. - Click , navigate to the location containing the SCAP content file and select .
- Click .
Successfully created RHEL 7.2 SCAP Content will be shown and the list of SCAP Contents will include the new title.
Chapter 10. Working with Containers
Container: An application sandbox. Each container is based on an image that holds necessary configuration data. When you launch a container from an image, a writable layer is added on top of this image. Every time you commit a container a new image layer is added to store your changes.Image: A static snapshot of the container's configuration that is never modified. Any changes made to the container can be saved only by creating a new image layer. Each image depends on one or more parent images.Platform image: An image that has no parent. Platform images define the runtime environment, packages and utilities necessary for containerized applications to run. The platform image is not writable, so any changes are reflected in the copied images stacked on top of it. For information on how to access Red Hat Enterprise Linux platform images from Red Hat Satellite see Example 10.1, “Creating a Red Hat Enterprise Linux Container in Satellite”.Registry: A public or private archive that contains images available for download. Some registries allow users to upload images to make them available to others. Red Hat Satellite allows you to import images from local and external registries. Satellite itself can act as an image registry for hosts, however, hosts cannot push changes back to the registry. For more information, see Section 10.1.1, “Creating Containers”Tag: A mark used to differentiate images in a repository, typically by the version of the application stored in the image. Repositories are used to group similar images in a container registry. Images only have unique alphanumeric identifiers, so naming in form or repository:tag provides a human-readable way of identifying images. For more information, see Section 10.5, “Using Container Tags” and Section 10.2, “Managing Repositories”.
10.1. Managing Containers
Prerequisites
Procedure 10.1. To Prepare a Container Host:
- Prepare a Red Hat Enterprise Linux 7 server for hosting images and enable the
dockerservice on this server as described in the Getting Docker in RHEL 7 section of the Get Started with Docker Formatted Container Images on Red Hat Systems guide on the Red Hat Customer Portal[2]. You can deploy the container host either on the same machine as the Satellite server or independently.Note
Red Hat Enterprise Linux 7 is currently the only supported system for a container host. The docker package is available in the rhel-7-server-extras-rpms repository. Red Hat Enterprise Linux 6 systems are currently not supported to host containers. - Run the following command on the container host to install the Satellite server's CA certificate:
rpm -Uvh https://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
Here, satellite.example.com is the fully qualified domain name of your Satellite server. Skip this step if the container host is already registered as a Satellite host. - Depending on the location of the container host, perform the following tasks:
- If the container host is on the same machine as the Satellite server:
- Create a docker user group and add the foreman user to it:
# groupadd docker # usermod -aG docker foreman
- Modify the OPTIONS variable in the
/etc/sysconfig/dockerfile as follows:OPTIONS='--selinux-enabled -G docker'
- Restart the affected services to apply the changes:
# systemctl restart docker.service # katello-service restart
- If the container host is on a different machine than the Satellite server:
- Open a port on the container host to communicate with the Satellite server. To do so, modify the OPTIONS variable in the
/etc/sysconfig/dockerfile as follows:OPTIONS='--selinux-enabled -H tcp://0.0.0.0:port_number -H unix:///var/run/docker.sock'
Replace port_number with a selected port number. - Restart the docker service and verify your settings as follows:
# systemctl restart docker.service # systemctl status docker.service
Procedure 10.2. To Create a Docker Compute Resource:
- Make sure the port 5000 is enabled on the Satellite server. The container host uses this port to pull images from Content Views on the Satellite server.
- Create the compute resource as described in Procedure 13.9, “To Add a Compute Resource:”. Specify the resource URL according to the location of the container host:
- If the container host is on the same machine as the Satellite server, set unix://var/run/docker.sock as the resource URL.
- If the container host is on a different machine than the Satellite server, specify the URL in the form of:
http://container_host_fqdn:port_number
Here, container_host_fqdn and port_number stand for the fully qualified domain name of the container host and the port number opened on the container host for communication with Satellite.
- Click to test if the container host is available.
- Click to create the compute resource.
10.1.1. Creating Containers
- Local content: represented by the
Katellooption when creating a container. This option allows you to import an image from a repository that is already present on a capsule server in a certain content view and life cycle environment. For more information on how to create and populate a local registry, see Section 10.2, “Managing Repositories”. - Docker Hub: allows you to search the Docker Hub registry and pull images from there. Make sure that you pull only trusted images with verified content.
- External Registry: allows you to import images from a previously created external registry. For more information on creating registries in Red Hat Satellite, see Section 10.3, “Importing External Registries”.
Note
Procedure 10.3. To Create a Container:
- Navigate to → . Alternatively, navigate to → and click .
- In the Preliminary stage of container creation, configure the following settings:
- On the Compute resource tab, select the compute resource from the Deployed on drop-down menu. For more information on compute resources, see Section 13.3.4, “Compute Resources”.
- On the Locations tab, select the locations where the new container will be available.
- On the Organizations tab, select the organizations where the new container will be available.
Click to proceed. - In the Image stage of container creation, import an image that will act as a base for your container. This can be a platform image, or a previously created layered image. Select from one of the following options:
- Select the Katello tab to import the image from a life cycle environment. Specify the life cycle environment, content view, repository, tag, and Capsule Server.
- Select the Docker hub tab to import the image from the Docker Hub registry. After you type the image name to the Search field, Satellite automatically searches the compute resource. Click the looking glass icon to search the Docker Hub. Select the image from the list of search results and pick a tag from the drop-down list.
- Select the External registry tab to import the image from an existing registry. Select the registry from the drop-down menu, and search it by the image name. Satellite populates the Tag field with tags available for the selected image name. For more information, see Section 10.3, “Importing External Registries”.
Click to proceed. - In the Configuration stage of container creation, set the following parameters:
- Provide the container name.
- Specify a command to run inside the container.
- Specify an entrypoint, which is a command that is executed automatically as soon as the container starts. The default entrypoint is
/bin/sh -c. - Assign CPUs to the container. For example,
0-2,16represents CPUs 0, 1, 2, and 16. - Define the relative share of CPU time for the container.
- Specify a memory limit for the container. For example,
512mlimits the container memory usage to 512 MB.
Click to proceed. - In the final stage of container creation named Environment, select if you want to allocate a pseudo-tty, attach STDIN, STDOUT, and STDERR to the container. Click to create a custom environment variable for the container.
- Click to create the container.
Example 10.1. Creating a Red Hat Enterprise Linux Container in Satellite
- Create a custom registry as described in Section 10.3, “Importing External Registries”. Specify https://registry.access.redhat.com as the registry URL.
- Create a new container as described in Section 10.1.1, “Creating Containers”. In the Image stage of container creation, navigate to the External registry tab and select the registry created in the previous step. Use the search field to find the desired version of the Red Hat Enterprise Linux image. Proceed through the Configuration and Environment stages to finalize the container.
10.1.2. Monitoring Containers
Procedure 10.4. To Investigate a Container:
- Navigate to → .
- On the Containers page, every Docker compute resource has a dedicated tab. Each of these tabs contains the table of available containers together with selected parameters of each container. Select the tab of the compute resource you want to inspect.
- To view the container metadata, click the name of the container you want to inspect. Satellite displays the table of container properties.
- On the Processes tab, you can view processes that are currently running in the container. Click on the process name to view the metadata of the process.
- If the container is running, you can view its standard output in the Logs tab. If you selected the allocate a pseudo-tty check box when creating a container, the console is interactive. Otherwise, it displays the initial standard output produced when the container started.
10.1.3. Starting, Committing, and Removing Containers
Procedure 10.5. To Start or Stop a Container:
- Navigate to → to view the list of available containers.
- Click next to the container you want to start. After starting the container, the button changes to , which allows for stopping the container. These actions are equivalent to the
docker startanddocker stopcommands.
Procedure 10.6. To Commit a Container:
- Navigate to → to view the list of available containers.
- Click the name of the container you want to commit.
- Click . Satellite prompts you to:
- Specify a repository name. This can be a single name or combined with the user name, for example user/my-rhel-image.
- Assign a tag to the image.
- Provide your contact information.
- Provide an informative comment about the image.
- Click .
Note
Procedure 10.7. To Remove a Container:
- Navigate to → to view the list of available containers.
- Click the name of the container you want to delete.
- Click .
- In the alert box, click to remove the container.
10.2. Managing Repositories
10.2.1. Creating Repositories
10.2.2. Uploading Images to Repositories
Procedure 10.8. To Upload Images to a Repository:
- Navigate to → .
- Select the product that contains the repository you want to update. Navigate to the Repositories tab and select the docker repository you want to update.
- Click . Navigate to the location of the image you want to upload. Click .
- Click to upload the image to the repository.
10.3. Importing External Registries
Procedure 10.9. To Import an External Registry:
- Navigate to → . Click .
- On the Registry tab, specify the name and URL of the registry. These settings are required. Optionally, provide a brief description of the registry. Specify a user name and password if required for accessing the registry.
- On the Locations tab, select the locations where the new registry will be available.
- On the Organizations tab, select the organizations where the new registry will be available.
- Click to create the registry.
10.4. Importing Images to Compute Resources
Procedure 10.10. To Import an Image to a Compute Resource:
- Navigate to → to view a list of compute resources.
- Select the docker compute resource you want to edit.
- Click .
- Specify the image details including the image name, operating system, architecture, user credentials, and a parent image. Select User data to enable user input for this image.
- Click .
10.5. Using Container Tags
Procedure 10.11. To Search Registries by Tags:
- Navigate to → .
- Use the search field to filter tags by the image name, tag, or repository name. Automatic suggestion works as you type. For example, the following query searches for tags applied on images from the repository named test_repo:
repository = test_repo
- Click the name of the tag you want to view. Satellite displays a list of images that use this tag.
- Select an image to view its environment and content view version. The Published At field shows the URL that you can use to pull the image from the command line.
centos to search for all centos tags.
Chapter 11. Configuring Activation Keys
- Which life cycle environment the content host should be placed in.
- Which host collection the content host should be assigned to.
- Which organization the content host should be a part of.
- Whether to use a provisioning template for the content host.
- Setting up a subscription usage limit for the content host.
- Assigning a specific subscription to the content host.
- Administrators have control over which subscriptions are installed to a content host without having to create and configure every content host first.
- Because activation keys are created within the Satellite Server and do not rely on content host settings or architecture, the target content host does not have to exist yet.
- Users can register their content host in a single step and automatically have all required subscriptions attached, without having to select and attach subscriptions manually and potentially miss a subscription.
11.1. Creating an Activation Key
Procedure 11.1. To Create an Activation Key:
- Click → .
- Click .
- Enter the required details for the activation key in the relevant fields.
- Clear the Unlimited check box if the activation key is to be used with limitations. Type the usage limit in the Limit field. 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.
- Enter a suitable description in the Description field.
- Select the Environment and Content View that this key should apply to.
- Click to create the activation key.
Note
11.2. Removing an Activation Key
Procedure 11.2. To Remove an Activation Key:
- Click → .
- Click the activation key name that you want to remove.
- In the upper right of the Activation Key details panel, click .
- In the alert box, click to confirm that you want to remove the key.
11.3. Editing Activation Keys
11.3.1. Using Auto-Attach with an Activation Key
Note
Procedure 11.3. To Edit Auto-Attach on an Activation Key:
- Click → .
- Click the activation key name that you want to edit.
- Click the Subscriptions tab.
- Select the edit box next to Auto-Attach.
- Select the check box to enable auto-attach.
- Click Save.
11.3.2. Setting a Service Level for an Activation Key
Procedure 11.4. To Set the Service Level on an Activation Key:
- Click → .
- Click the activation key name you want to edit.
- Click the Details tab.
- Select the edit box next to Service Level.
- Select the required service level from the drop-down list. The drop-down list only contains service levels available to the activation key.
- Click Save.
11.3.3. Adding Subscriptions to an Activation Key
Procedure 11.5. To Add a Subscription to an Activation Key:
- Click → .
- Click the name of the activation key you want to edit.
- Click → .
- From the list of available subscriptions, select the subscriptions you want to add and then click .
11.3.4. Adding Host Collections to an Activation Key
Procedure 11.6. To Add Host Collections to an Activation Key:
- Click → .
- Click the activation key that you want to add a host collection to.
- Click Host Collections and then click Add to display the list of available host collections.
- Select the host collections you want to add, and then click to add the host collections to the activation key.
Note
11.3.5. Editing Product Content on an Activation Key
Note
Procedure 11.7. To Edit Product Content on an Activation Key:
- Click → .
- Click the activation key name that you want to edit.
- Click the Product Content tab.
- Click the edit box next to the required product.
- Select either Yes (Default) or Override to No.
- Click Save.
11.3.6. Removing Subscriptions from an Activation Key
Procedure 11.8. To Remove Subscriptions from an Activation Key:
- Click → .
- A list of activation keys is displayed. Click the activation key you want to remove subscriptions from.
- Click the subtab.
- A list of subscriptions is displayed. Select the subscriptions to be removed.
- Click to remove subscriptions from the activation key.
11.3.7. Removing Host Collections from an Activation Key
Procedure 11.9. To Remove Host Collections from the Activation Key:
- Click → .
- A list of activation keys is displayed. Click the activation key you want to remove host collections from.
- Click the subtab.
- A list of host collections attached to the Activation Key is displayed. Select the check box of the host collections you want to remove.
- Click to remove host collections from the activation key.
11.4. Automated Host Registration with Activation Keys
Procedure 11.10. To Automatically Register a Host with an Activation Key:
- Clear any old registration data from the system.
[root@server]# subscription-manager clean
- Register the system to the required organization on the Satellite Server. Use the --activationkey flag to register the system using the activation key. Enter the authentication for the admin user when prompted.
[root@server]# subscription-manager register --org 'Default_Organization' --activationkey 'Test_Key'
- When the system is registered, it gains access to repository content but administrators will not be able perform package and errata management until the katello agent has been installed on the client system.
[root@server]# yum install katello-agent
Chapter 12. Configuring GPG Keys
12.1. Creating a GPG Key
Procedure 12.1. To Add a GPG Key to Satellite:
- Click → and then click .
- Enter a name for the GPG key in the Name field.
- Either upload the GPG key file or paste the GPG key contents into the text box.
- Click to add the GPG key to Satellite.
12.2. Removing a GPG Key
Procedure 12.2. To Remove a GPG Key:
- Click → .
- Click the GPG key that you want to remove, and then click .
- In the confirmation box, click to confirm that you want to remove the selected key.
Chapter 13. Configuring the Provisioning Environment
13.1. Creating a Host Group
Procedure 13.1. To Add a Host Group to Satellite:
- Click → and then click New Host Group.
- Enter the required details for the Host Group, and then click .
The following table describes the attributes that apply to Satellite Host Groups.
Table 13.1. Table of Host Group Attributes
|
Submenu
|
Options
|
Description
|
|---|---|---|
|
Host Group
|
Parent
|
The parent Host Group for the new Host Group.
|
|
Name
|
The name of the Host Group.
| |
|
Life Cycle Environment
|
The environment containing this Host Group.
| |
|
Puppet CA
|
The Red Hat Satellite Capsule Server to use for the Puppet CA server.
| |
|
Puppet Master
|
The Red Hat Satellite Capsule Server to use as the Puppet Master.
| |
|
Puppet Classes
|
Included Classes
|
The Puppet Classes included with the Host Group.
|
|
Available Classes
|
The Puppet Classes available to use with the Host Group.
| |
|
Network
|
Domain
|
The domain for hosts in the Host Group.
|
|
Subnet
|
The subnet for hosts in the Host Group.
| |
|
Operating System
|
Architecture
|
The default architecture for systems in the Host Group.
|
|
Operating Systems
|
The default operating system for systems in the Host Group.
| |
|
Media
|
The location of the installation media for the operating system.
| |
|
Partition Table
|
A file system partition layout for the operating system installation.
| |
|
Root Password
|
The root password for the operating system.
| |
|
Parameters
|
Add Parameter
|
Provides a Name and Value pair to set parameters for the Host Group.
|
|
Organizations
|
Organizations
|
The organizations that own this host group.
|
|
Activation Keys
|
Content Environment
|
Defines the activation keys made available in templates as
@host.params['kt_activation_keys'].
|
13.2. Parameters
- Global Parameters
- The default parameter that applies to every host in Satellite. Configured in → .
- Domain Parameters
- Parameters that affect all hosts in a given domain. Domain parameters override Global parameters. Configured in → .
- Host Group Parameters
- Parameters that affect all hosts in the Host Group. Host Group parameters override both Global and Domain parameters. Configured in → .
- Host Parameters
- Parameters that affect a specific host. All previous inherited parameters are visible on the Parameters subtab and can be overridden. Configured in → → → or → → → .
- Simple Parameters
- A basic parameter that defines a relationship between a key and value pair.
- Smart Parameters
- A complex parameter that defines a value for a key but allows conditional arguments, validation, and overrides for specific object types.
- Parameterized Classes
- Parameters for classes imported from a Puppet Master.
Important
Parametrized_Classes_in_ENC is set to True.
13.2.1. Creating a Global Simple Parameter
Procedure 13.2. To Create a Global Simple Parameter:
- Click → .
- Click .
- Type a Name for the parameter's key.
- Type a Value for the parameter.
- Select if the value is hidden.
- Click Submit.
13.2.2. Configuring Smart Parameters
Procedure 13.3. To configure smart parameters:
- Click → .
- Select a class from the list.
- Click the Smart Variables tab. This displays a new screen. The left section contains a list of possible parameters the class supports. The right section contains the configuration options for the parameter selected. Click the to add a new parameter. Otherwise, select a parameter from the left-hand list.
- Type a name for the Parameter field.
- Edit the Description text box to add any plain text notes.
- Select the Parameter type of data to pass. This is most commonly a string, but other data types are supported.
- Type a Default Value for the parameter.
- Use the Optional Input Validator section to restrict the allowed values for the parameter. Choose a Validator type (either a list of comma separated values or a regular expression, regexp) and input the allows values or regular expression code in the Validator rule field.
- The Override Value For Specific Hosts section at the bottom of the page provides options for overriding values based upon conditional arguments known as Matchers. Define the Order that the host values resolve, then click Add Matcher-Value to add your conditional argument.For example, if desired value of the parameter is
testfor any host with a fully qualified domain name ofwww.example.com, then specify the Match asfqdn=www.example.comand the Value astest. - Click to save your changes.
13.2.3. Importing Parameterized Classes from a Puppet Master
Note
Procedure 13.4. To Import Parameterized Classes:
- Click → .
- Click Import from Host Name to import parameterized classes from your Puppet Master.
- The Puppet Classes page displays with the new classes listed.
13.2.4. Configuring Parameterized Classes
Procedure 13.5. To Configure Parameterized Classes:
- Click → .
- Select a class from the list.
- Click the Smart Class Parameter tab. This displays a new screen. The left section contains a list of possible parameters the class supports. The right section contains the configuration options for the parameter selected.
- Select a parameter from the left-hand list.
- Edit the Description text box to add any plain text notes.
- Select Override to allow Satellite control over this variable. If the check box is not selected, Satellite does not pass this variable to Puppet.
- Select the Parameter type of data to pass. This is most commonly a string, but other data types are supported.
- Type a Default Value for the parameter.
- The Override Value For Specific Hosts section at the bottom of the page provides options for overriding values based upon conditional arguments known as Matchers. Define the Order that the host values resolve, then click to add your conditional argument.For example, if desired value of the parameter is
testfor any host with a fully qualified domain name ofwww.example.com, then specify the Match asfqdn=www.example.comand the Value astest. - Click to save your changes.
13.3. Configuring Provisioning Settings
13.3.1. Domains
Procedure 13.6. To Create a Domain:
- Click → .
- Click . On the Domain tab, specify the following settings:
- Specify a Name for the Domain. This is the required DNS domain name.
- Type a Description for the Domain.
- Select a DNS-enabled Capsule server.
- On the Parameters tab, specify domain parameters.
- On the Locations tab, select locations for the domain.
- On the Organizations tab, select organizations for the domain.
Important
Ensure that the Locations and Organizations are configured as they will help with future debugging. - Click .
13.3.2. Subnets
13.3.2.1. Creating a Subnet
Procedure 13.7. To Create a Subnet:
- Click → .
- Click New Subnet. On the Subnet tab, specify the following settings:
- Specify a Name, Network address (IP address), and Network mask for the subnet. These settings are required.
- Optionally, specify the Gateway address, Primary DNS server, Secondary DNS server, and VLAN ID. You can also select the IPAM mode (DHCP, Internal DB, or None) and define the IP assignment range with the Start of IP range and End of IP range fields.
- Select the default Boot mode for the subnet (DHCP or Static).
- On the Domains tab, select the applicable domains for the subnet.
- On the Capsules tab, select the Capsule servers to be used for hosting the DHCP Proxy, TFTP Proxy, DNS Proxy, and Discovery Proxy services.
- On the Locations tab, select locations for the subnet.
- On the Organizations tab, select organizations for the subnet.
Important
Ensure that the Locations and Organizations are configured as they will help with future debugging. - Click .
13.3.3. Architectures
Procedure 13.8. To Create an Architecture:
- Click → and then click New Architecture.
- Specify a Name for the architecture.
- Select any Operating Systems that include this architecture. If none are available, you can create and assign them under → .
- Click .
13.3.4. Compute Resources
Procedure 13.9. To Add a Compute Resource:
- Navigate to → .
- Click New Compute Resource. On the Compute Resource tab, specify the following settings:
- Specify a Name and a Provider type for the Compute Resource. Optionally, insert a Description.
- Depending on the provider type chosen, the next few fields ask for authentication and datacenter details. Refer to the following table for more information about each provider type.
Table 13.2. Provider Settings
TypeDescriptionRHEVSuits Red Hat Enterprise Virtualization environments. Requires the URL of the Manager API, a valid Username and Password, and a Datacenter on the system to abstract compute resources. Click Load Datacenters to populate the drop-down menu. Optionally, you can specify a Quota ID and provide one or more certificate authorities in the X509 Certification Authorities field.LibvirtSuits Libvirt-based environments. Requires the URL of the virtual machine. Select the Display type. Click to test if the virtual machine is available. Select Console passwords to set a randomly generated password on the display connection.VMwareSuits VMware-based environments. Requires the hostname of the VCenter/Server, a valid VMware Username and Password, and a Datacenter to abstract compute resources. Click Load Datacenters to populate the drop-down menu. You can specify a certificate Fingerprint and select Console passwords to set a randomly generated password on the display connection.RHEL OpenStack PlatformSuits OpenStack-based environments. Requires the URL of the OpenStack server, a valid OpenStack Username and Password, and a Tenant to abstract compute resources. Click Load Tenants to populate the drop-down menu.RackspaceSuits Rackspace public cloud accounts. Requires the URL of the Rackspace API, a valid Rackspace Username and API Key, and a Region to abstract compute resources. Click to make sure your connection to the chosen region is valid.EC2Suits Amazon EC2 public cloud accounts. Requires the Access Key and Secret Key available from any valid Amazon EC2 account. Requires a Region to act as a Datacenter for resource abstraction. Click to populate the selection drop-down menu.GoogleSuits Google Compute Engine public cloud accounts. Requires the Google Project ID, a valid Client Email and a Certificate path to the p12 file. You can also specify a Zone to abstract compute resources. Click to populate the drop-down menu.DockerSuits container registries. Requires the URL of the internal or external compute resource. Optionally, specify a Username, Password, and a contact Email. Click to test if the connection is available.
- On the Locations tab, select desired locations to add them to the Selected Items list.
- On the Organizations tab, select the desired organizations to add them to the Selected Items list.
Important
Ensure that the Locations and Organizations are configured as they will help with future debugging. - Click .
13.3.5. Hardware Models
Procedure 13.10. To Create a Hardware Model:
- Click → .
- Click .
- Specifa a Name for the Hardware Model.
- For Sparc Solaris builds, insert the CPU Hardware model and Vendor class. Other architectures do not require values in these fields.
- Type a description of the Hardware Model in the Information field.
- Click .
13.3.6. Installation Media
Procedure 13.11. To Add an Installation Medium:
- Click → .
- Click New Medium. On the Medium tab, specify the following settings:
- Type a Name for the Installation Media. This setting is required.
- Type a Path to the Installation Medium. Options include either a URL or a valid NFS server. This setting is required.
- Select an Operating System Family to define the type of the Installation Medium.
- On the Locations tab, select the desired locations to add them to the Selected Items list.
- On the Organizations tab, select the desired organizations to add them to the Selected Items list.
Important
Ensure that the Locations and Organizations are configured as they will help with future debugging. - Click .
13.3.7. Partition Tables
Procedure 13.12. To Create a Partition Table:
- Click → .
- Click .
- Type a Name for the partition table.
- Specify the Layout of the partition table. The Layout field also accepts dynamic disk partitioning scripts.
- Select the operating system from the OS Family drop-down list.
- Click .
13.3.8. Provisioning Templates
Procedure 13.13. To Create a Provisioning Template:
- Click → .
- Click New Template. On the Provisioning Template tab, specify the following settings:
- Specify a Name for the template.
- Insert your template in the Template editor field. Alternatively, click to upload the template. This replaces the content in the Template editor field with the content of your chosen file.
- Optionally, type a comment in the Audit Comment field. Satellite adds the comment to the template history to track changes. View the template history under the History tab.
- On the Type tab, select Snippet to store the template code without defining it as particular script or template type, or select the type from the Type drop-down menu.
- On the Association tab, select host groups, environments and operating systems to be associated with the template. Select the operating systems from the Applicable Operating Systems list. Click and select a Hostgroup and Environment to limit the template's use. Note that associations are not available for templates of type snippet.
- On the Association tab, you can view the history of existing templates. No history is available when creating a new template.
- On the Locations tab, select locations for the template.
- On the Organizations tab, select organizations for the template.
Important
Ensure that the Locations and Organizations are configured as they will help with future debugging. - Click .
13.3.9. Configuring gPXE to Reduce Provisioning Times
HTTP to reduce download time. To make use of gPXE, proceed as follows:
- On systems configured to be a
TFTPserver, copy/usr/share/syslinux/gpxelinuxk.0to/var/lib/tftpboot. - In the
PXE Handoffsection of/etc/dhcp/dhcpd.conf, change theDHCPfilenameoption frompxelinux.0togpxelinuxk.0. - Create provisioning templates as follows and then assign them, together with the default template, to the operating systems.
Procedure 13.14. Configure a gPXE Provisioning Template
- Click → .
- Find the template and select .
- Enter a name, for example,
Kickstart default gPXELinux. - In the Template editor, search and replace
@initrdwith@host.url_for_boot(:initrd) - In the Template editor, search and replace
@kernelwith@host.url_for_boot(:kernel) - Select the tab. From the drop-down menu, select .
- On the Association tab, select host groups, environments and operating systems to be associated with the template. Select the operating systems from the Applicable Operating Systems list. Click and select a Hostgroup and Environment to limit the template's use.
- Click .
13.3.10. Operating Systems
RedHat family. Families allow Satellite to change certain behaviors when provisioning hosts.
Procedure 13.15. To Add an Operating System:
- Click → .
- Click New Operating system. On the Operating System tab, specify the following settings:
- Type the Name of the Operating System and its Major Version. These settings are required.
- Optionally, define the Minor Version, select the OS Family, and add a Description of the operating system.
- Select a Root password hash (MD5, SHA256, of SHA512).
- Select the Architectures from the list of available Architectures. If none are available, create and assign them under → as described in Section 13.3.3, “Architectures”.
- On the Partition tables tab, select the applicable file system layouts from the list. For more information on creating partition tables, see Section 13.3.7, “Partition Tables”.
- On the Installation Media tab, select the applicable installation media from the list. For more information on adding installation media, see Section 13.3.6, “Installation Media”.
- On the Templates tab, you can assign provisioning templates when editing an existing operating system. This option is not available when creating a new operating system. For more information on creating provisioning templates, see Section 13.3.8, “Provisioning Templates”.
- On the Parameters tab, you can add parameters for the operating system.
- Click .
13.4. Storing and Maintaining Host Information
- Foreman: Provides for the provisioning and life cycle management of physical and virtual systems. Foreman automatically configures these systems using various methods, including kickstart and Puppet modules.
- Puppet: A client/server architecture for configuring hosts, consisting of the Puppet Master (server) and the Puppet Agent (client).
- Facter: Puppet's system inventory tool. Facter gathers basic information (facts) about hosts such as hardware details, network settings, OS type and version, IP addresses, MAC addresses, SSH keys, and more. These facts are then made available in Puppet manifests as variables.
13.4.1. The Puppet Architecture
- It compiles a catalog
- It applies that catalog to the appropriate host
--noop parameter had been used, to the Puppet Master, which in turn sends the results to Foreman. This catalog describes the desired state for one specific host. It lists the resources to manage on that host, including any dependencies between those resources. The agent applies the catalog to the host.
/etc/puppet/puppet.conf file using the runinterval parameter. You can also run puppet agent apply to initiate communication manually.
13.4.2. Using Facter and Facts
httpd service should always be running and Puppet knows how to handle that. If you are managing different operating systems, you can use the osfamily fact to create conditional expressions to tell Puppet which service to watch or which package to install. You can use the operatingsystemmajrelease and versioncmp parameters to create conditional expressions based on different versions of the same operating system. See Example 13.1, “Using Conditional Expressions with Facts” for an example of using conditional expressions.
Example 13.1. Using Conditional Expressions with Facts
if $:: osfamily == 'RedHat' {
if $::operatingsystemmajrelease == '6' {
$ntp_service_name = 'ntpd'
}
elseif versioncmp($::operatingsystemmajrelease, '7') >= 0 {
$ntp_service_name = 'chrony'
}
}
Note
13.4.2.1. Displaying Facts for a Particular Host
facter -p) and also from the web UI ( → ). You can browse the list of facts or use the Search box to search for specific facts. For example, type "facts." to display a list of available facts.
Note
Procedure 13.16. To View Facts for a Particular Host:
- On the main menu, click → and then click the name of the host that you want to inspect.
- In the Details pane, click to display all known facts about the host.
Note
- For any fact listed on this page, you can click to display a chart of the distribution of this fact name over all managed hosts.
- You can bookmark a search to make it easier to use in the future. When you have refined your search, click the drop-down arrow next to the button, and click . Bookmarked searches appear in the drop-down list, and also under → on the main menu.
13.4.2.2. Searching for Hosts based on Facts
facts.architecture = x86_64.
Procedure 13.17. To Search for Hosts Based on Facts:
- On the main menu, click → to display the Fact Values page.
- In the Search field, start typing the name of the fact that you want to filter by. You can search by specific name, name/value pairs, and so on.
- Click to retrieve the list of matching hosts.
13.4.2.3. Custom Fact Reporting
- The manifest
pkginventoryis obtained from Puppet Forge and saved to the base system. - The Puppet module is added to a content view and then this is promoted to a system and deployed to that system.
- The facts for the system are then queried using a package name. In this example, for a host called hostname and using a Satellite user with credentials username and password, the following API query would return the facts that matched the search string "bash":
curl -u username:password -X GET http://localhost/api/hosts/:hostname/facts?search=bash {"hostname":{"pkg_bash":"4.2.45-5.el7_0.4"}}The search returns the package version. This could then be used to populate an external database.
Adding the pkginventory Puppet Module
pkginventory Puppet module to the Red Hat Satellite Server application, download the module from https://forge.puppetlabs.com/ody/pkginventory to the base system where the Satellite Server application is installed and then follow the procedures below.
Procedure 13.18. Uploading a Puppet Module to a Repository
- Download the Puppet module to the base system. Modules that are downloaded will have a
.tar.gzextension. - Click → and then click the product name in the Name field associated with the Puppet module repository. For example, Custom Products.
- On the Repositories tab, select the Puppet Modules repository you want to modify. For example, Puppet Modules.
- In the Upload Puppet Module section, click , and navigate to the module that you downloaded.
- Click .
Procedure 13.19. Adding a Module to a Content View
- Click → and then select a content view from the menu.
- On the Puppet Modules tab, click . A list of installed modules appears.
- From the Actions column, click to select the module you want to add. A table of available versions appears.
- Click next to the version of the module that you want to add.
- Click to create the new Content View.
- Optionally add a description and click .
Chapter 14. Configuring Hosts
14.1. Creating a Host
Procedure 14.1. To Create a Host:
- Click → .
- On the Host tab, enter the required details.
- On the Puppet Classes tab, select the puppet classes you want to include.
- On the Network tab, perform the following actions:
- Enter the Domain and Realm details. It is required to specify a domain to make the host provisioning possible. This automatically updates the Subnet list with a selection of suitable subnets.
- Enter the Primary Interface details. If there is a DHCP-enabled Capsule Server on the selected subnet, the IP address is automatically suggested. Click Suggest new to generate a different address.
- Optionally, click to include an additional network interface. See Section 14.4, “Configuring an Additional Network Interface” for details.
- On the Operating System tab, enter the required details. You can select a partition table from the drop-down list or enter a custom partition table in the Custom partition table field. You cannot specify both.
- On the Parameters tab, click Add Parameter to add any required parameters. This includes all Puppet Class Parameters and Host Parameters associated with the host.
- On the Additional Information tab, enter additional information about the host.
- Click Submit to complete your provisioning request.
14.2. Configuring a Host for Registration
Prerequisites
- Hosts must be using the following Red Hat Enterprise Linux Version:
- 5.8 or later (5.7 or later on s390x)
- 6.4 or later
- 7.0 or later
- All architectures of Red Hat Enterprise Linux are supported (i386, x86_64, s390x, ppc_64)
- On the Red Hat Satellite Server, ensure that the date and time are correct and synchronized with the client.
- On each client system, address the following requirements:
- Ensure that the date and time are correct and synchronized with the server.
- Enable
ntpdor a similar time synchronization tool in all virtual environments:For Red Hat Enterprise Linux 6:# chkconfig ntpd on; service ntpd start
For Red Hat Enterprise Linux 7:# systemctl start chronyd; systemctl enable chronyd
Procedure 14.2. To Automatically Configure a Host:
- Take note of the Red Hat Satellite's fully qualified domain name (FQDN), for example satellite.example.com.
- Open a terminal console and log in as root.
- Download and install a copy of the CA Certificate for the host from the Red Hat Satellite FQDN:
# rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
Note
katello-ca-consumer-hostname-1.0-1.noarch.rpm is an additional katello-ca-consumer rpm available that contains the server's hostname. The katello-ca-consumer-latest.noarch.rpm rpm will always reflect the most updated version. Both serve the same purpose.
14.3. Registration
14.3.1. Registering a Host
Prerequisites
- Ensure that all steps in Section 14.2, “Configuring a Host for Registration” have been completed.
- Make sure there is a pre-existing activation key for the system or create an activation key for the system. See Section 11.1, “Creating an Activation Key” for instructions on creating an activation key.
Procedure 14.3. To Register Systems:
- Open a terminal console and login as the
rootuser on the command line. - Clear old system data in preparation for registering. This makes sure that your updated system data is uploaded correctly.
# subscription-manager clean
- Register the system using the Red Hat Subscription Manager (RHSM):
# subscription-manager register --org your_org_name --activationkey your_activation_key
Note
Activation keys will allow you to add environments, provisioning templates and dictate what subscriptions are available and should be applied to the registering system.There are various options that may be added. For more information, use the commandman subscription-manager.
# subscription-manager register --org MyOrg --activationkey TestKey-1 The system has been registered with id: 62edc0f8-855b-4184-b1b8-72a9dc793b96
Note
- On Red Hat Satellite, select → .
- Click on the tab.
- Click the name of the host that needs to be changed.
- In the Content Host Content section click the edit icon to the right of Release Version.
- Select '6.3' from the drop-down menu.
- Click .
14.3.2. Installing the Katello Agent
goferd service. This service must be enabled so that the Red Hat Satellite Server or Capsule Server can provide information about errata that are applicable for content hosts.
Prerequisites
Satellite Tools repository. The Red Hat Common repositories are no longer used and are not compatible with Satellite version 6.1 and later.
Procedure 14.4. Verify the Satellite Tools Repository is Enabled
Satellite Tools repository must be enabled, synchronized to the Red Hat Satellite server and made available to your hosts as it provides the required packages.
- Open the Satellite web UI, navigate to → and click on the RPMs tab.
- Find and expand the Red Hat Enterprise Linux Server item.
- Find and expand the Red Hat Satellite Tools 6.1 (for RHEL VERSION Server) (RPMs) item.If the Red Hat Satellite Tools 6.1 items are not visible, it may be because they are not included in the subscription manifest obtained from the Customer Portal. To correct that, log in to the Customer Portal, add these repositories, download the subscription manifest and import it into Satellite.
- Ensure the Enabled check box beside the repository's name is selected. If not, select it.
Satellite Tools repository for every supported major version of Red Hat Enterprise Linux running on your hosts.
Procedure 14.5. To Install Katello Agent:
- On the host, open a terminal console and log in as the
rootuser. - Verify that the
satellite-toolsrepository is enabled, using the following command:# yum repolist enabled | grep -i satellite-tools
If thesatellite-toolsis not enabled, enable it using the following command:# subscription-manager repos --enable satellite-tools
- Install the
katello-agentRPM package using the following command:# yum install katello-agent
goferd service is started and enabled automatically after successful installation of katello-agent.
14.3.3. Installing and Configuring the Puppet Agent
Prerequisites
Satellite Tools repository. The Red Hat Common repositories are no longer used and are not compatible with Satellite version 6.1 and later.
Procedure 14.6. Verify the Satellite Tools Repository is Enabled
Satellite Tools repository must be enabled, synchronized to the Red Hat Satellite server and made available to your hosts as it provides the required packages.
- Open the Satellite web UI, navigate to → and click on the RPMs tab.
- Find and expand the Red Hat Enterprise Linux Server item.
- Find and expand the Red Hat Satellite Tools 6.1 (for RHEL VERSION Server) (RPMs) item.If the Red Hat Satellite Tools 6.1 items are not visible, it may be because they are not included in the subscription manifest obtained from the Customer Portal. To correct that, log in to the Customer Portal, add these repositories, download the subscription manifest and import it into Satellite.
- Ensure the Enabled check box beside the repository's name is selected. If not, select it.
Procedure 14.7. To Install and Enable the Puppet Agent:
- On the host, open a terminal console and log in as the
rootuser. - Verify that the
satellite-toolsrepository is enabled, using the following command:# yum repolist enabled | grep -i satellite-tools
If thesatellite-toolsis not enabled, enable it using the following command:# subscription-manager repos --enable satellite-tools
- Install the Puppet agent RPM package using the following command:
# yum install puppet
- Configure the puppet agent to start at boot:
- On Red Hat Enterprise Linux 6:
# chkconfig puppet on
- On Red Hat Enterprise Linux 7:
# systemctl enable puppet
Procedure 14.8. Configuring the Puppet Agent
You must meet the following conditions before continuing with this task:
- The host must be registered to the Red Hat Satellite Server.
- The Satellite Tools repository must be enabled.
- Puppet packages must be installed on the host.
- Configure the Puppet agent by changing the
/etc/puppet/puppet.conffile:# vi /etc/puppet/puppet.conf
[main] # The Puppet log directory. # The default value is '$vardir/log'. logdir = /var/log/puppet # Where Puppet PID files are kept. # The default value is '$vardir/run'. rundir = /var/run/puppet # Where SSL certificates are kept. # The default value is '$confdir/ssl'. ssldir = $vardir/ssl [agent] # The file in which puppetd stores a list of the classes # associated with the retrieved configuratiion. Can be loaded in # the separate ``puppet`` executable using the ``--loadclasses`` # option. # The default value is '$confdir/classes.txt'. classfile = $vardir/classes.txt pluginsync = true report = true ignoreschedules = true daemon = false ca_server = satellite.example.com server = satellite.example.com environment = KT_Example_Org_Library_RHEL6Server_3 # Where puppetd caches the local configuration. An # extension indicating the cache format is added automatically. # The default value is '$confdir/localconfig'. localconfig = $vardir/localconfigImportant
Set theenvironmentparameter to the host's Puppet environment from the Satellite server. The Puppet environment label contains the organization label, lifecycle environment, content view name, and the content view ID. To see a list of Puppet environments in the Satellite 6 web UI, navigate to → . - Run the Puppet agent on the host:
# puppet agent -t --server satellite.example.com
- Sign the SSL certificate for the puppet client through the Satellite Server web interface:
- Log in to the Satellite Server through the web interface.
- Select → .
- Click to the right of the required host.
- Click .
- Rerun the
puppet agentcommand:# puppet agent -t --server satellite.example.com
Note
14.4. Configuring an Additional Network Interface
- : Allows you to specify an additional physical or virtual interface. There are two types of virtual interfaces you can create. Use VLAN when the host needs to communicate with several (virtual) networks using a single interface, while these networks are not accessible to each other. Another type of virtual interface is alias, which is an additional IP address attached to an existing interface. See Section 14.4.2, “Adding a Virtual Interface”, or Section 14.4.1, “Adding a Physical Interface” for details.
- : Creates a bonded interface. NIC bonding is a way to bind multiple network interfaces together into a single interface that appears as a single device and has a single MAC address. This enables two or more network interfaces to act as one, simultaneously increasing the bandwidth and providing redundancy. See Section 14.4.3, “Adding a Bonded Interface” for details.
- : Baseboard Management Controller (BMC) allows you to remotely monitor and manage physical state of machines. See "Using Power Management Features on Managed Hosts" in the Red Hat Satellite Installation Guide for more information on BMC, and Section 14.4.4, “Adding a Baseboard Management Controller (BMC) Interface” for details on configuring a BMC interface.
Note
/etc/sysconfig/network-scripts/ifcfg-$interface_id.
Note
14.4.1. Adding a Physical Interface
Procedure 14.9. To Add a Physical Interface:
- Navigate to → to view available hosts.
- Click next to the host you want to edit.
- On the Network tab, click .
- Keep the Interface option selected in the menu.
- Specify a MAC address of the additional interface. This setting is required.
- Specify the device Identifier, for example eth0 or eth1.1. Identifier is used for bonded interfaces (in the Attached devices field, see Procedure 14.11, “To Add a Bonded Interface:”), VLANs and aliases (in the Attached to field, see Procedure 14.10, “To Add a Virtual Interface:”).
- Specify the DNS name associated with the host's IP address. Satellite saves this name in the Capsule Server associated with the selected domain (the "DNS A" field) and the Capsule Server associated with the selected subnet (the "DNS PTR" field). A single host can therefore have several DNS entries.
- Select a domain from the Domain drop-down menu. To create and manage domains, navigate to → .
- Select a subnet from the Subnet drop-down menu. To create and manage subnets, navigate to → .
- Specify the interface IP address. Managed interfaces with assigned DHCP Capsule Server require this setting for creating a DHCP lease. DHCP-enabled managed interfaces provide an automatic suggestion of IP address.
- Decide if the interface will be managed. If the Managed check box is selected, the interface configuration is pulled from the associated Capsule Server during provisioning, and DNS and DHCP entries are created. If using kickstart provisioning, a configuration file is automatically created for the interface.
- Select the Virtual NIC check box to create a virtual interface. See Section 14.4.2, “Adding a Virtual Interface” for details.
- Click to save the interface configuration, and then click to apply the changes to the host.
14.4.2. Adding a Virtual Interface
Procedure 14.10. To Add a Virtual Interface:
- Navigate to → to view available hosts.
- Click next to the host you want to edit.
- On the Network tab, click .
- Keep the Interface option selected in the menu.
- Specify the general interface settings. The applicable configuration options are the same as for the physical interfaces described in Section 14.4.1, “Adding a Physical Interface”. Specify MAC address for managed virtual interfaces so that the configuration files for provisioning are generated correctly. However, MAC address is not required for virtual interfaces that are not managed. If creating a VLAN, specify ID in the form of eth1.10 in the Identifier field. If creating an alias, use ID in the form of eth1:10.
- Select the Virtual NIC check box. Additional configuration options specific to virtual interfaces are appended to the form:
- Tag: You can specify tags per interface to provide a higher-level segmentation of the network. If left blank, managed interfaces inherit the tag form the VLAN ID of the associated subnet, given that this subnet has the VLAN ID specified. User-specified entries from this field are not applied on alias interfaces.
- Attached to: Specify the identifier of the physical interface to which the virtual interface belongs, for example eth1. This setting is required.
- Click to save the interface configuration. Then click to apply the changes to the host.
14.4.3. Adding a Bonded Interface
Procedure 14.11. To Add a Bonded Interface:
- Navigate to → to view available hosts.
- Click next to the host you want to edit.
- On the Network tab, click .
- Select Bond from the menu. Additional type-specific configuration options are appended to the form.
- Specify the general interface settings. The applicable configuration options are the same as for the physical interfaces described in Section 14.4.1, “Adding a Physical Interface”. Bonded interfaces use IDs in the form of bond0 in the Identifier field. It is sufficient if you specify a single MAC address in the MAC address field.
- Specify the configuration options specific to bonded interfaces:
- Mode: Select the bonding mode that defines a policy for fault tolerance and load balancing. See Table 14.1, “Bonding Modes Available in Red Hat Satellite” for a brief description of individual bonding modes.
- Attached devices: Specify a comma separated list of identifiers of attached devices. These can be physical interfaces or VLANs.
- Bond options: Specify a space separated list of configuration options, for example miimon=100. There are several configuration options you can specify for the bonded interface, see Red Hat Enterprise Linux 7 Networking Guide for details.
- Click to save the interface configuration. Then click to apply the changes to the host.
Table 14.1. Bonding Modes Available in Red Hat Satellite
| Bonding Mode | Description |
|---|---|
| balance-rr | Transmissions are received and sent out sequentially on each bonded interface. |
| active-backup | Transmissions are received and sent out via the first available bonded interface. Another bonded interface is only used if the active bonded interface fails. |
| balance-xor | Transmissions are based on the selected hash policy. In this mode, traffic destined for specific peers will always be sent over the same interface. |
| broadcast | All transmissions are sent on all bonded interfaces. |
| 802.a3 | Creates aggregation groups that share the same settings. Transmits and receives on all interfaces in the active group. |
| balance-tlb | The outgoing traffic is distributed according to the current load on each bonded interface. |
| balance-alb | Receive load balancing is achieved through Address Resolution Protocol (ARP) negotiation. |
14.4.4. Adding a Baseboard Management Controller (BMC) Interface
Ensure the following prerequisites are satisfied before proceeding:
- BMC is enabled on the Capsule. If required, see Procedure 14.12, “To Enable BMC Power Management on an Existing Capsule:”.
- The ipmitool package is installed.
- You know the MAC address, IP address, and other details of the BMC interface on the host, and the appropriate credentials for that interface.
Note
You only need the MAC address for the BMC interface if the BMC interface is managed. This is so that it can create a DHCP reservation.
Procedure 14.12. To Enable BMC Power Management on an Existing Capsule:
- Ensure the following lines exist in the
/etc/foreman-proxy/settings.d/bmc.ymlfile. Create the file if necessary.:enabled: true :bmc_default_provider: your_bmc_provider
- Restart the
foreman-proxyservice:# service foreman-proxy restart
- Refresh the features for the Capsule.
- Log in to the Satellite web UI, and navigate to → .
- Identify the Capsule whose features you need to refresh. In the drop-down list on the right, click Refresh features. The list of features in the Features column should now include BMC.
Procedure 14.13. To Add a BMC Interface:
- Navigate to → to view available hosts.
- Click next to the host you want to edit.
- On the Network tab, click .
- Select BMC from the menu. Type-specific configuration options are appended to the form.
- Specify the general interface settings. The applicable configuration options are the same as for the physical interfaces described in Section 14.4.1, “Adding a Physical Interface”.
- Specify the configuration options specific to BMC interfaces:
- Username, Password: Specify any authentication credentials required by BMC.
- Provider: Specify the BMC provider.
- Click to save the interface configuration, and then click to apply the changes to the host.
14.5. Removing a Host
Procedure 14.14. To Remove a Host:
- Click → or → .
- Choose the hosts to be removed.
- Click and choose Delete Hosts from the drop-down menu.
- A confirmation pop-up box will appear. Select to remove the host from Red Hat Satellite permanently.
Chapter 15. Discovering Bare-metal Hosts on Satellite
Satellite Server (Satellite Server Discovery plug-in) <--> Satellite Capsule (Satellite Capsule Discovery plug-in) <--> Discovered Host (Satellite Discovery image)
- The Satellite Server Discovery plug-in
- This runs on the Satellite Server and provides API and UI functionality for working with discovered hosts. The ruby193-rubygem-foreman_discovery package contains this plug-in.
- The Satellite Capsule Discovery plug-in
- This is a communication proxy between discovered hosts on a provisioning network and the Satellite Server. The rubygem-smart_proxy_discovery package contains this plug-in.
- The Satellite Discovery image
- This is the minimal operating system based on Red Hat Enterprise Linux that is PXE-booted on hosts to acquire initial hardware information and to check in to the Satellite Server. Discovered hosts keep running the Satellite Discovery image until they are rebooted into Anaconda, which then initiates the provisioning process. The foreman-discovery-image package contains this image. It must be installed on the Satellite Capsule that provides TFTP services.
15.1. Configuring the Satellite Discovery Plug-in
15.1.1. Deploying the Satellite Discovery Image
# yum install foreman-discovery-image
$ rpm -ql foreman-discovery-image /usr/share/foreman-discovery-image /usr/share/foreman-discovery-image/fdi-image-rhel_7-2.1.0-20150212.1.iso
$ find /var/lib/tftpboot/boot /var/lib/tftpboot/boot /var/lib/tftpboot/boot/fdi-image-rhel_7-2.1.0-20150212.1-img /var/lib/tftpboot/boot/fdi-image-rhel_7-2.1.0-20150212.1-vmlinuz /var/lib/tftpboot/boot/fdi-image-rhel_7-img /var/lib/tftpboot/boot/fdi-image-rhel_7-vmlinuz
Note
15.1.2. Configuring PXE-booting
- The KERNEL and APPEND lines in the template use symbolic links, created when installing the foreman-discovery-image package (see Section 15.1.1, “Deploying the Satellite Discovery Image”). The URLs are relative to the
/var/lib/tftpboot/directory. Ensure theAPPENDparameters are specified on a single line. - The
proxy.typevariable can be set to eitherproxy(recommended) orforeman. When the variable is set toproxy, all communication goes through the Satellite Capsule. When the variable is set toforeman, the communication goes directly to Satellite Server. Examples in this chapter assumeproxy.typeis set toproxy. - The
proxy.urlvariable specifies the URL of the Satellite Capsule or Satellite Server, depending on theproxy.typesetting. BothHTTPandHTTPSschemes are supported. The default port is 9090 for accessing the Satellite Capsule (proxy.type=proxy), and 80 for for direct communication with the Satellite Server (proxy.type=foreman). - The
IPAPPEND 2setting detects interfaces connected to the provisioning network. The image will not boot correctly if this option is removed or modified.
Procedure 15.1. To Configure PXE-booting:
- In the Satellite web UI, navigate to → .
- Edit the PXELinux global default template. Add the following menu entry to the template:
LABEL discovery MENU LABEL Foreman Discovery MENU DEFAULT KERNEL boot/fdi-image-rhel_7-vmlinuz APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy IPAPPEND 2
- Set the new menu entry to be the default by modifying the
ONTIMEOUTvariable:ONTIMEOUT discovery
- Click at the top of the Provisioning Templates page. This instructs the TFTP proxy to rewrite the
pxelinux.cfg/defaultfile. Repeat this step every time a change is made to the default template to ensure that the changes are deployed on the TFTP Satellite Capsule.
proxy.url variable from the PXE-boot template. In this case, the Discovery image searches the DNS configuration file for an SRV record named x-foreman.tcp. The proxy.url variable must be set to proxy in this case. The DNS server must also be suitably configured. For example, the following configuration statement specifies the Capsule to be used with HTTPS:
_x-foreman._tcp SRV 0 5 9090 capsule
Note
Important
BOOTIF variable. BOOTIF is set automatically by the IPAPPEND variable in the PXE template. This means that when a system has multiple NICs, DNS will only work for the interface that it was booted from.
15.1.3. Reviewing Global Discovery Settings
discovery_organization,discovery_location- These variables specify where to place the discovered hosts. By default, the discovered hosts are automatically placed under the first organization and location created.
discovery_fact- This variable specifies which incoming fact to use to determine the MAC address of the discovered host. By default, the PXELinux BOOTIF kernel command line option is used.
discovery_auto- This variable enables automatic provisioning according to specified rules. Set to false by default. Red Hat recommends that you test the configuration with manual provisioning before enabling
discovery_auto. See Section 15.3, “Provisioning Discovered Hosts” for more information. discovery_fact_column- This variable allows you to add any fact reported by Facter as an additional column in the list of discovered hosts.
15.2. Configuring the Satellite Capsule Discovery Plug-in
foreman_url setting exists in the Satellite Capsule configuration file. The setting can appear as follows:
# grep foreman_url /etc/foreman-proxy/settings.yml :foreman_url: https://satellite.example.com
capsule-installer command configures this variable automatically, but Red Hat recommends that you check that the host responds correctly and there are no firewall rules blocking communication.
15.2.1. Configuring Discovery Subnets
15.2.2. Using Hammer with the Discovery Plug-in
hammer command with the Discovery plug-in, you need to enable the Discovery plug-in in /etc/hammer/cli.modules.d/foreman_discovery.yml as follows:
:foreman_discovery: :enable_module: true
hammer uses.
15.2.3. Reviewing User Permissions
Discovery. You can assign this role to non-administrative users to allow them to use the Discovery plug-in. Alternatively, assign the perform_discovery permission to an existing role. For more information on roles and permissions, see Section 17.3, “Creating and Managing Roles”.
15.3. Provisioning Discovered Hosts
15.3.1. Manually Provisioning Hosts
Procedure 15.2. To Manually Provision a Discovered Host:
- Navigate to → .
- Select the host you want to provision and click .
- On the host's Edit page, complete the necessary details, and then click .
15.3.2. Decommissioning Discovered Hosts
- Shutdown the host.
- Navigate to → .
- In the Name column find the host you want to decommission and then select from the corresponding drop-down menu.
15.3.3. Automatically Provisioning Hosts
Procedure 15.3. To Create a Provisioning Rule:
- Navigate to → .
- Click . Specify the following parameters of the provisioning rule:
- Name is the name of the rule displayed in the list of rules. This name must not contain spaces or non-alphanumeric characters.
- Search is the search statement used to match discovered hosts for the particular rule. You can use scoped search syntax to define it. See Section 15.3.4, “Scoped Search Syntax” for examples of using scoped search.
- Host Group is the host group to be assigned to a matching host before starting the provisioning process. Make sure that the selected host group has all the required parameters set; required parameters are marked with an asterisk (*).
- Hostname defines a pattern for assigning human-readable host names to the matching hosts. When left blank, the host name is assigned in the format "macMACADDRESS" by default. The same syntax used for provisioning templates is used in this instance. See Section 15.3.5, “Host Name Patterns” for more information and examples.
- Hosts limit is the the maximum number of provisioned hosts per rule. If the limit is reached, the rule will not take effect until one or more hosts are deleted. Typical use cases are rules per server rack or row when it is necessary to change provisioning parameters such as host name or host group per entry. You can set this value to zero (0) to specify no limit.
- Priority specifies the order of execution of rules. The value must be greater than or equal to zero. A lower value indicates a higher priority. If two rules have the same priority, the first rule encountered is applied.
- Enabled provides the option to temporarily enable or disable rules.
- Click to save the rule.
discovery_auto variable to provide automatic provisioning according to specified rules.
Procedure 15.4. To Enable Automatic Provisioning:
- Navigate to → → in the Satellite web UI.
- Locate
discovery_autoin the Name column, and set its value totrue. - Click .
15.3.4. Scoped Search Syntax
- facts.architecture = x86_64
- facts.bios_vendor ~ 'Dell*'
- facts.macaddress = "aa:bb:cc:dd:ee:ff"
- facts.macaddress_eth0 = "aa:bb:cc:dd:ee:ff"
- facts.ipaddress_eth1 ~ "192.168.*"
- facts.architecture ^ (x86_64,i386)
Note
Table 15.1. Facts that Allow Numerical Comparison
| Search Parameter | Description | Example Usage |
|---|---|---|
| cpu_count | The number of CPUs | cpu_count >= 8 |
| disk_count | The number of disks attached | disk_count < 10 |
| disks_size | The total amount of disk space (in MiB) | disks_size > 1000000 |
15.3.5. Host Name Patterns
@host attribute, the rand() function for random integers is available. For example:
- application-server-<%= rand(99999) %>
- load-balancer-<%= @host.facts['bios_vendor'] + '-' + rand(99999) %>
- wwwsrv-<%= @host.hostgroup.name %>
- minion-<%= @host.discovery_rule.name %>
- db-server-<%= @host.ip.gsub('.','-') + '-' + @host.hostgroup.subnet.name %>>
Important
15.3.6. Using the Discovery Plug-in on the Command Line
hammer command to perform certain tasks related to discovery. Run the hammer -h command to verify your configuration:
$ hammer -h | grep discovery discovery Manipulate discovered hosts. discovery_rule Manipulate discovered rules.
hammer discovery -h command to view the available options. For example, you can use the following command to reboot a discovered host (assuming its ID is 130):
$ hammer discovery reboot -id 130 Host reboot started
15.4. Extending the Discovery Image
.
├── autostart.d
│ └── 01_zip.sh
├── bin
│ └── ntpdate
├── facts
│ └── test.rb
└── lib
├── libcrypto.so.1.0.0
└── ruby
└── test.rb- The
autostart.ddirectory contains scripts that are executed in POSIX order by the image when it starts, but before the host is registered to Satellite. - The
bindirectory is added to the $PATH variable; you can place binary files here and use them in the autostart scripts. - The
factsdirectory is added to the FACTERLIB variable so that custom facts can be configured and sent to Satellite. - The
libdirectory is added to the LD_LIBRARY_PATH variable andlib/rubyis added to the RUBYLIB variable, so that binary files in/bincan be executed correctly.
/opt/extension directory on the image.
zip -r my_extension.zip .
fdi.zips option where the paths are relative to the TFTP root. For example, if you have two archives at $TFTP/zip1.zip and $TFTP/boot/zip2.zip, use the following syntax:
fdi.zips=zip1.zip,boot/zip2.zip
15.5. Troubleshooting Satellite Discovery
- Try redeploying the default PXE Linux template.
- Verify the
pxelinux.cfg/defaultconfiguration file on the TFTP Capsule. - Ensure adequate network connectivity between hosts, the Capsule, and the Satellite Server.
- Verify the
proxy.urlandproxy.typeoptions in the default PXE Linux template. - Ensure that the DNS is working correctly for that image, or use an IP address in the
proxy.urloption in the default PXE Linux template. - Ensure that the DHCP server is delivering IP addresses to the booted image correctly.
- Ensure the discovered host (or virtual machine) has at least 500 MB of memory. Less memory can lead to various random kernel panic errors as the image needs to be extracted in-memory.
discovery-debug command. It prints out system logs, network configuration, list of facts, and other information on the standard output. The typical use case is to redirect this output and copy it with the scp command for further investigation.
- discover-host - initial facts upload
- foreman-discovery - facts refresh, reboot remote commands
- nm-prepare - boot script which pre-configures NetworkManager
- NetworkManager - networking information
fdi.ssh=1 fdi.rootpw=redhat
Chapter 16. Configuring Host Collections
- Add hosts to a collection.
- Apply a mass installation of packages, errata, or package groups to all host members of a host collection.
- Update specific packages, errata, or specific package groups to all host members.
16.1. Creating a Host Collection
Procedure 16.1. To Create a Host Collection:
- Click → .
- Click .
- Add the Name and Description of the host collection.
- Deselect to specify the maximum number of hosts that will be allowed to the group. Otherwise, leave it checked to allow unlimited hosts to join the host collection.
- Click .
16.2. Adding Hosts to a Host Collection
Prerequisites
Procedure 16.2. To Add Hosts to a Host Collection:
- Click → .
- Click the host collection where the host should be added.
- On the tab, select the Add subtab.
- Select the hosts to be added from the table and click .
16.3. Adding Content to Host Collections
16.3.1. Adding Packages to a Host Collection
Prerequisites
- The content to be added should be available in one of the existing repositories or added prior to this procedure.
- Content should be promoted to the environment where the hosts are assigned.
Procedure 16.3. To Add Packages to Host Collections:
- Click → .
- Click the host collection where the package should be added.
- On the tab, click .
- In the field provided, specify the package or package group name. Then click:
- ‐ if you want to install a new package
- ‐ if you want to update an existing package in the host collection
16.3.2. Adding Errata to a Host Collection
Prerequisites
- The errata to be added should be available in one of the existing repositories or added prior to this procedure.
- Errata should be promoted to the environment where the hosts are assigned.
Procedure 16.4. To Add Errata to a Host Collection:
- Click → .
- Select the host collection where the errata should be added.
- On the tab, click .
- Select the errata you want to add to the host collection and click .
16.4. Removing Content from a Host Collection
Procedure 16.5. To Remove Content from a Host Collection:
- Click → .
- Click the host collection where the package should be removed.
- On the tab, click .
- In the field provided, specify the package or package group name. Then click .
16.5. Changing the Life Cycle Environment or Content View of a Host Collection
Procedure 16.6. To Change the Life Cycle Environment or Content View of a Host Collection:
- Click → .
- Selection the host collection where the life cycle environment or content view should be changed.
- On the tab, click Change assigned Life Cycle Environment or Content View.
- Select the life cycle environment to be assigned to the host collection.
- Select the required content view from the drop-down list.
- Click .
16.6. Removing a Host from a Host Collection
Procedure 16.7. To Remove Hosts from a Host Collection:
- Click → .
- Choose the desired host collection.
- On the subtab, select the hosts you want to remove from the host collection.
- Click .
16.7. Removing a Host Collection
Procedure 16.8. To Remove a Host Collection:
- Click → .
- Choose the host collection to be removed.
- Click . An alert box appears:
Are you sure you want to remove host collection Host Collection Name?
- Click .
16.8. Cloning a Host Collection
Procedure 16.9. To Clone a Host Collection:
- Click → .
- On the left hand panel, click the host collection you want to clone.
- Click .
- Specify a name for the cloned collection.
- Click .
16.9. Reviewing Host Collection Details
Procedure 16.10. To Reviewing Host Collection Details:
- Click → .
- Select the host collection you want to review and navigate to the Details tab.
Chapter 17. Users and Roles
17.1. Creating and Managing Users
17.1.1. Creating a User
Procedure 17.1. To Create a User:
- Navigate to → and then click .
- Enter the required details on the User tab.
- On the Locations tab, select the required locations for this user.
- On the Organizations tab, select the required organizations for this user.
- On the Roles tab, select the required roles for this user. Active roles are displayed in the right panel.
- Click to create the user.
17.1.2. Editing a User
Procedure 17.2. To Edit an Existing User:
- Navigate to → .
- Click the user name of the user to be altered. General information about the user will appear on the right.
- You can modify the user's username, first name, surname, email address, default location, default organization, language, and password in the tab.
- You can modify the user's assigned locations in the tab.
- You can modify the user's assigned organizations in the tab. If no organization is selected, the user can access all available organizations.
- You can modify the user's assigned roles in the tab.
- Click to save your changes.
17.1.3. Assigning Roles to a User
Procedure 17.3. To Assign a Role to a User:
- Navigate to → .
- Click the user name of the user that you want to modify. General information about the user appears on the right.
- Click the tab to display the list of available role assignments.
- Select role you want to assign to the user in the Roles list. The list contains the predefined roles, as well as any custom roles, see Table 17.1, “Predefined Roles Available in Red Hat Satellite”. Alternatively, select the Administrator check box to assign all available permissions to the selected user.
- Click .
17.1.4. Configuring Email Notifications
Procedure 17.4. To Configure Email Notifications:
- Navigate to → .
- Click the user name of the user you want to edit.
- On the Mail Preferences tab, select Mail enabled to enable updates.
- Select the type of notifications the user will receive. The following notification types are available:
- is a notification sent after a host reports an error related to Puppet. To enable these notifications, select from the drop-down menu.
- is a summary of Puppet reports. Choose the frequency of emails from the drop-down list that offers , , or updates.
- is a summary of applicable and installable errata for hosts managed by the user. Choose the frequency of emails from the drop-down list that offers , , or updates.
- is a notification sent only after a content view promotion. It contains a summary of errata applicable and installable to hosts registered to the promoted content view. This allows you to monitor what updates have been applied to which hosts. To enable these notifications, select from the drop-down menu.
- is a notification sent only after synchronizing a repository. It contains a summary of new errata introduced by the synchronization. To enable these notifications, select from the drop-down menu.
- Click .
/etc/foreman/email.yaml. You can select to deliver messages through an SMTP server or using the sendmail command. For example, the following configuration uses SMTP as a delivery method:
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: smtp.example.com
port: 25
domain: example.com
authentication: :login
user_name: satellite@example.com
password: satelliteuser_name and password directives specify the login credentials for the SMTP server. The default /etc/foreman/email.yaml contains authentication: :none.
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
enable_starttls_auto: true
address: "smtp.gmail.com"
port: '587'
domain: "smtp.gmail.com"
authentication: :plain
user_name: "user@gmail.com"
password: "password"Note
- Mark the CA certificate of the SMTP server as trusted. To do so, execute the following commands on the Satellite server:
# cp mailca.crt /etc/pki/ca-trust/source/anchors/ # update-ca-trust enable # update-ca-trust
Where mailca.crt is the CA certificate of the SMTP server. - Alternatively, add the following directive to
/etc/foreman/email.yamlunder smtp_settings:enable_starttls_auto: :false
sendmail command as a delivery method:
production:
email_delivery:
delivery_method: :sendmail
sendmail_settings:
arguments: "-i -t -G"arguments directive to pass command-line options to sendmail, default value of arguments is "-i -t". For more information see the sendmail(1) man page.
Important
/etc/foreman/email.yaml file, run the following command to apply the changes:
# katello-service restart
17.1.5. Removing a User
Procedure 17.5. To Remove a User:
- On the main menu, click → to open the Users page.
- Click the Delete link to the right of the username you want to delete.
- In the alert box, click to delete the user.
17.2. Creating User Groups
Procedure 17.6. To Create a User Group:
- Navigate to → to view the user groups on your Satellite.
- Click .
- On the User group tab, specify the name of the new user group and select group members from the list of users. To include a previously-created user group, select the check box next to the name of the group to be added.
- On the Roles tab, select the roles you want to assign to the user group. Alternatively, select the Administrator check box to assign all available permissions.
- Click to create the user group.
17.2.1. Configuring External User Groups
Prerequisites
- If using an LDAP source, make sure the LDAP authentication is correctly configured. Navigate to → to view and modify the existing sources. For instructions on how to create an LDAP source, see Section 20.1, “Using LDAP”. Take note of the LDAP group names you want to use.
- If your Satellite is enrolled with the IdM/IPA or AD server as described in Chapter 20, Configuring External Authentication, take note of the external group names you want to use. To find the group membership of external users, execute the
idcommand on Satellite:# id username
Here, username is the name of the external group member. Note that Satellite allows you to configure external groups only after at least one external user authenticates for the first time. Also, at least one user must exist in the external authentication source.
Procedure 17.7. To Configure an External User Group:
- Navigate to → . Click .
- On the User group tab, specify the name of the new user group. Do not select any users as they will be added automatically when refreshing the external user group.
- On the Roles tab, select the roles you want to assign to the user group. Alternatively, select the Administrator check box to assign all available permissions.
- On the External groups tab, click and select the authentication source:
- If using an LDAP source, select its name from the Auth source drop-down menu.
- If using IdM/IPA or AD, select EXTERNAL from the Auth source drop-down menu.
Specify the exact name of the LDAP or external group in the Name field. - Click .
Important
foreman-rake ldap:refresh_usergroups or by refreshing the external user groups through the web interface.
17.3. Creating and Managing Roles
Table 17.1. Predefined Roles Available in Red Hat Satellite
| Role | Permissions Provided by Role[a] |
|---|---|
| Anonymous | The set of permissions that every user is granted, irrespective of any other roles. |
| Discovery manager | View, provision, edit, and destroy discovered hosts and manage discovery rules. |
| Discovery reader | View hosts and discovery rules. |
| Boot disk access | Download the boot disk. |
| Red Hat Access Logs | View the log viewer and the logs. |
| Manager | A most extensive set of permissions, the majority of actions from each resource type is enabled. |
| Edit partition tables | View, create, edit and destroy partition tables. |
| View hosts | View hosts. |
| Edit hosts | View, create, edit, destroy, and build hosts. |
| Viewer | A passive role that provides the ability to view the configuration of every element of the Satellite structure, logs, and statistics. |
| Site manager | A restrained version of the Manager role. |
| Tasks manager | View and edit Satellite tasks. |
| Tasks reader | View Satellite tasks. |
[a]
The exact set of allowed actions associated with predefined roles can be viewed by the privileged user as described in Section 17.3.4, “Viewing Permissions of a Role”.
| |
17.3.1. Creating a Role
Procedure 17.8. To Create a Role:
- Navigate to → .
- Click .
- Provide a Name for the role.
- Click to save your new role.
17.3.2. Cloning a Role
- Navigate to →
- Select from the drop-down list to the right of the role to be copied.
- Select the name for the new role and alter the permissions as needed.
17.3.3. Adding Permissions to a Role
Procedure 17.9. To Add Permissions to a Role:
- Navigate to → .
- Select from the drop-down list to the right of the required role.
- Select the from the drop-down list.
Note
The (Miscellaneous) group gathers permissions that are not associated with any resource group. - Click the permissions you want to select from the list.
- Select whether the permission is .
- To search for a particular role, use the field at the top of the list of roles. See Section 17.4, “Granular Permission Filtering” for the details of using filtering during these searches.
- Click .
- Click to save changes.
17.3.4. Viewing Permissions of a Role
Procedure 17.10. To View Permissions Associated with a Role:
- Navigate to → .
- Click to the right of the required role to get to the Filters page.
17.3.5. Creating a Complete Permission Table
Procedure 17.11. To Create a Complete Permission Table:
- Ensure that the required packages are installed:
# yum install ruby193-rubygem-foreman*
- Start the Satellite console with the following command:
# foreman-rake console
- Insert the following code into the console:
f = File.open('/tmp/table.html', 'w') result = Foreman::AccessControl.permissions.sort {|a,b| a.security_block <=> b.security_block}.collect do |p| actions = p.actions.collect { |a| "<li>#{a}</li>" } "<tr><td>#{p.name}</td><td><ul>#{actions.join('')}</ul></td><td>#{p.resource_type}</td></tr>" end.join("\n") f.write(result)The above syntax creates a table of permissions and saves it to the/tmp/table.htmlfile. - Press Ctrl+D to exit the Satellite console. Insert the following text at the first line of
/tmp/table.html:<table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>
- Append the following text at the end of
/tmp/table.html:</table>
- Open
/tmp/table.htmlin a web browser to view the table.
17.3.6. Removing a Role
Procedure 17.12. To Remove a Role:
- Navigate to → .
- Select from the drop-down list to the right of the role to be deleted.
- In an alert box that appears, click to delete the role.
17.4. Granular Permission Filtering
field_name operator value
- field_name marks the field to be queried. The range of available field names depends on the resource type. For example, the Partition Table resource type offers family, layout, and name as query parameters.
- operator specifies the type of comparison between field_name and value. See Table 17.2, “Supported Operators for Granular Search” for an overview of applicable operators.
- value is the value used for filtering. This can be for example a name of an organization. Two types of wildcard characters are supported: underscore (_) provides single character replacement, while percent sign (%) replaces zero or more characters.
Table 17.2. Supported Operators for Granular Search
| Operator | Description |
|---|---|
| = | Is equal to. An equality comparison that is case-sensitive for text fields. |
| != | Is not equal to. An inversion of the = operator. |
| ~ | Like. A case-insensitive occurrence search for text fields. |
| !~ | Not like. An inversion of the ~ operator. |
| ^ | Starts with. A case-insensitive search for text fields starting with a certain string. |
| !^ | Does not start with. An inversion of the ^ operator. |
| >, >= | Greater than, greater than or equal to. Supported for numerical fields only. |
| <, <= | Less than, less than or equal to. Supported for numerical fields only. |
hostgroup = host-editors
Dev
Note
Example 17.1. Creating an Organization-specific Manager Role
- Navigate to → .
- Clone the existing Manager role. Select from the drop-down list next to the button. You are then prompted to insert a name for the cloned role, for example org-1 Manager.
- Click next to org-1 Manager to view the filters associated with the role. All filters are marked as unlimited.
- For each filter, click .
- If the filter contains the Organizations tab, navigate to it. Otherwise it is a global setting that cannot be limited.
- On the Organizations tab, select org-1. Click .
- The restricted filters are no longer marked as unlimited. Users assigned with the org-1 Manager role can now perform management tasks only in the selected organization.
Chapter 18. Backup and Disaster Recovery
18.1. Backing up Red Hat Satellite Server
Procedure 18.1. To Back up Your Red Hat Satellite Server:
- Ensure your backup location has enough disk space to contain a copy of all of the following directories:
/etc//var/lib/pulp/var/lib/mongodb/var/lib/pgsql/
This can be a considerable amount of space so plan accordingly. - Run the backup script:
# /usr/bin/katello-backup backup_directory
Thekatello-backupscript stops all services which could impact the backup, performs the backup, then restarts the required services.This process can take a long time to complete, due to the amount of data to copy.
18.2. Restoring Red Hat Satellite Server from a Backup
Important
- You are restoring to the correct instance. The Red Hat Satellite instance must have the same configuration, package versions and errata as the original system.
- All commands are executed as
rootin the directory where the archives were created during the backup process. - All SELinux contexts are correct. Run the following command to restore the correct SELinux contexts:
# restorecon -Rnv /
Procedure 18.2. To Restore Red Hat Satellite from Backup:
- Install Satellite 6 using the procedures in the Red Hat Satellite 6 Installation Guide[6].
- Copy the backup data to the Satellite's local file system, for example,
/var/tmp/satellite-backup/. Ensure you have enough space to store this data on the Satellite server as well as enough space after the restoration to contain all the data in the/etc/and/var/directories contained within the backup. - Run the restoration script:
# /usr/bin/katello-restore backup_directory
This process can take a long time to complete, due to the amount of data to copy.
Chapter 19. Maintaining a Red Hat Satellite Server
19.1. Logging and Reporting
Table 19.1. Log Files for Reporting and Troubleshooting
|
Log File
|
Description of Log File Content
|
|---|---|
/var/log/elasticsearch
|
Web UI search index display
|
/var/log/candlepin
|
Subscription management
|
/var/log/foreman
|
Foreman
|
/var/log/foreman-proxy
|
Foreman proxy
|
/var/log/httpd
|
Apache HTTP server
|
/var/log/katello-installer
|
Satellite installer
|
/var/log/capsule-installer
|
Capsule installer
|
/var/log/libvirt
|
Virtualization API
|
/var/log/mongodb
|
Satellite database
|
/var/log/pulp
|
Celerybeat and Celery startup request messages. After startup is complete, messages are logged to
/var/log/messages.
|
/var/log/puppet
|
Configuration management
|
/var/log/rhsm
|
Subscription management
|
/var/log/tomcat6 and /var/log/tomcat
|
Apache web server messages for Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7, respectively.
|
/var/log/messages
|
Various other log messages related to pulp, rhsm, and goferd.
|
foreman-tail command to follow many of the log files related to Satellite. You can run foreman-tail -l to list the processes and services that it follows.
19.2. Collecting Information from Log Files
foreman-debug command to collect configuration and log file data for Red Hat Satellite, its back-end services, and system information. This information is collected and written to a tar file. You can also generate reports to view and monitor information about the hosts being maintained.
Important
foreman-debug command removes all security information such as passwords, tokens, and keys while collecting information. However, the tar file can still contain sensitive information about the Red Hat Satellite Server. Red Hat recommends that you send this information directly to the intended recipient and not to a public target.
19.3. Enabling Debug Logging
WARN, INFO, and Error. Different components provide varying levels of logging.
To enable debug logging for these components, modify the /usr/share/foreman/config/environments/production.rb file to ensure the following line exists:
config.log_level = :debug
# service foreman restart # service foreman-tasks restart
/var/log/foreman/production.log file.
See https://docs.puppetlabs.com/references/latest/configuration.html#loglevel for information on how to enable debug logging for Puppet. The Puppet log files are saved to the /var/log/puppet/logs directory.
See https://pulp.readthedocs.org/en/latest/user-guide/troubleshooting.html for initial information on how to enable logging for Pulp.
Procedure 19.1. To Ensure Successful Debug Logging for Pulp:
- Ensure that
rsyslogallows debug log files to be written to/var/log/messages, or redirect the log files to another directory. - In the
/etc/pulp/server.conffile, change the following line:# log_level: INFO to: log_level: DEBUG
- Restart the required services:
# for i in pulp_resource_manager pulp_workers pulp_celerybeat; do service $i restart; done
Note
Debug and you are using rsyslog, you might encounter a situation where many log entries are discarded and missed. If this occurs, create a new log configuration file as follows:
# vi /etc/rsyslog.d/pulp.conf :programname, startswith, "pulp" -/var/log/pulp.log & ~
# service rsyslog restart # for i in pulp_resource_manager pulp_workers pulp_celerybeat; do service $i restart; done
/var/log/pulp.log file for debug output.
To enable debug logging for Candlepin, add the following line to the /etc/candlepin/candlepin.conf file:
log4j.logger.org.candlepin=DEBUG
tomcat6; on Red Hat Enterprise Linux 7, the service is called tomcat.
# service tomcat6 restart
/var/log/candlepin/candlepin.log file.
To enable debug logging for Capsule, uncomment the DEBUG line in the /etc/foreman-proxy/settings.yml file:
# WARN, DEBUG, Error, Fatal, INFO, UNKNOWN :log_level: DEBUG
foreman-proxy service:
# service foreman-proxy restart
/var/log/foreman-proxy/proxy.log file.
To enable debug logging for hammer, comment out the log_level entry in the /etc/hammer/cli_config.yml file, as follows:
# :log_level: 'error' `
~/.foreman/log/hammer.log file. You can configure the log file directory in the cli_config.yml file.
19.4. Using Log Files in Support Cases
sosreport command is a tool that collects configuration and diagnostic information from a Red Hat Enterprise Linux system, such as the running kernel version, loaded modules, and system and service configuration files. The command also runs external programs to collect further information, and stores this output in the resulting archive.
sosreport and raising support cases:
- https://access.redhat.com/solutions/3592: What is a sosreport and how can I create one?
- https://access.redhat.com/articles/38363: How to open and manage a support case on the Customer Portal
- https://access.redhat.com/articles/445443: Red Hat Access: the Red Hat Support Tool
Chapter 20. Configuring External Authentication
- Using Lightweight Directory Access Protocol (LDAP) server as an external identity provider. LDAP is a set of open protocols used to access centrally stored information over a network. For more information see Section 20.1, “Using LDAP”.
- Using Identity Management (IdM) or Identity, Policy, Audit (IPA) server as an external identity provider. IdM and IPA deal with the management of individual identities, their credentials and privileges used in a networking environment. For more information see Section 20.2, “Using Identity Management”.
- Using Active Directory (AD) integrated with IdM or IPA through cross-forest Kerberos trust as an external identity provider. For more information see Section 20.3, “Using Active Directory with Cross-Forest Trust”.
- Using direct AD as an external identity provider. For more information see Section 20.4, “Using Active Directory Directly”.
20.1. Using LDAP
20.1.1. Configure TLS for Secure LDAP (LDAPS)
TLS to establish a secure LDAP connection (LDAPS), first obtain certificates used by the LDAP server you are connecting to and mark them as trusted on the base operating system of your Satellite server as described below. If your LDAP server uses a certificate chain with intermediate certificate authorities, all of the root and intermediate certificates in the chain must be trusted, so ensure all certificates are obtained. If you do not require secure LDAP at this time, proceed to Procedure 20.1, “To Configure LDAP Authentication”.
Obtain the Certificate from the LDAP Server
TLS on Satellite 6.1 for information on creating and exporting a CA certificate from an Active Directory server.
/tmp/example.crt. The filename extensions .cer and .crt are only conventions and can refer to DER binary or PEM ASCII format certificates.
Trust the Certificate from the LDAP Server
/etc/pki/tls/certs/ directory.
install command to install the imported certificate into the /etc/pki/tls/certs/ directory with the correct permissions.
# install /tmp/example.crt /etc/pki/tls/certs/root to trust the example.crt certificate obtained from the LDAP server:
# ln -s example.crt /etc/pki/tls/certs/$(openssl x509 -noout -hash -in /etc/pki/tls/certs/example.crt).0
httpd service:
- On Red Hat Enterprise Linux 6:
#
service httpd restart - On Red Hat Enterprise Linux 7:
#
systemctl restart httpd
20.1.2. Configuring Red Hat Satellite to Use LDAP
Note
# setsebool authlogin_nsswitch_use_ldap=1
Procedure 20.1. To Configure LDAP Authentication
- Navigate to → .
- Click .
- On the tab, enter the LDAP server's name, host name, port, and server type. The default port is 389, the default server type is POSIX (alternatively you can select FreeIPA or Active Directory depending on the type of authentication server). For
TLSencrypted connections, select the LDAPS check box to enable encryption. The port should change to 636, which is the default for LDAPS. - On the tab, enter the following information:
- Account username: an LDAP user who has read access to the LDAP server. User name is not required if the server allows anonymous reading, otherwise use the full path to the user's object. For example:
uid=$login,cn=users,cn=accounts,dc=example,dc=com
- Account password: the LDAP password for the user defined in the Account username field. This field can remain blank if the Account username is using the "$login" variable.
- Base DN: the top level domain name of your LDAP directory. For example:
dc=redhat,dc=com
- Groups base DN: the top level domain name of your LDAP directory tree that contains groups.
- LDAP filter: a filter to restrict your LDAP queries.
- Automatically create accounts in Foreman: creates Satellite accounts automatically for LDAP users who log in for the first time in Satellite.
- On the tab, map LDAP attributes to Satellite attributes. You can map Login name, First name, Surname, Email address, and Photo attributes.
- Click .
Table 20.1. Example Settings for Active Directory LDAP Connection
| Setting | Example value |
|---|---|
| Account username | DOMAIN\redhat |
| Base DN | DC=example,DC=COM |
| Groups Base DN | CN=Users,DC=example,DC=com |
| Login name attribute | sAMAccountName |
Table 20.2. Example settings for FreeIPA LDAP Connection
| Setting | Example value |
|---|---|
| Account username | uid=redhat,cn=users,cn=accounts,dc=example,dc=com |
| Base DN | dc=example,dc=com |
| Groups Base DN | cn=groups,cn=accounts,dc=example,dc=com |
| Login name attribute | uid |
Table 20.3. Example Settings for POSIX (OpenLDAP) LDAP Connection
| Setting | Example value |
|---|---|
| Account username | uid=redhat,dc=example,dc=com |
| Base DN | dc=example,dc=com |
| Groups Base DN | dc=example,dc=com |
| Login name attribute | uid |
20.2. Using Identity Management
Prerequisites
- The Satellite server has to run on Red Hat Enterprise Linux 7.1 or Red Hat Enterprise Linux 6.6 or later.
- The base operating system of the Satellite server has to be IPA-enrolled. Ask the IdM/IPA administrator of your organization to perform the following steps on the IdM/IPA server:
- Create a host entry for the Satellite server with the
ipa host-addcommand. Generate a one-time password with the--randomoption. This password will be used on the client to complete IPA-enrollment. For more information on host configuration properties, see Red Hat Enterprise Linux 7 Linux Domain Identity, Authentication, and Policy Guide[9]. - Create an HTTP service for the Satellite server with the
ipa service-add HTTP/satellite_fqdncommand. For more information on managing services, see Red Hat Enterprise Linux 7 Linux Domain Identity, Authentication, and Policy Guide[10].
Procedure 20.2. To Configure IdM/IPA Authentication:
- Execute the following command as root to configure IPA-enrollment on the client:
# ipa-client-install --password OTP
Replace OTP with the one-time password provided by the IdM/IPA administrator. - If the Satellite server is running on Red Hat Enterprise Linux 7, execute the following command:
# subscription-manager repos --enable rhel-7-server-optional-rpms
The installer is dependent on packages which, on Red Hat Enterprise Linux 7, are in the optional repositoryrhel-7-server-optional-rpms. On Red Hat Enterprise Linux 6 all necessary packages are in thebaserepository. - Execute the following command:
# katello-installer --foreman-ipa-authentication=true
This command is not limited to a fresh Satellite installation; you can use it to modify an existing Satellite installation.
20.2.1. Host Based Access Control Configuration
Procedure 20.3. To Configure HBAC:
- Create HBAC service and rule on the IdM/IPA server and link them together. The following examples use the PAM service name satellite-prod. Execute the following commands on the IdM/IPA server:
$ ipa hbacsvc-add satellite-prod $ ipa hbacrule-add allow_satellite_prod $ ipa hbacrule-add-service allow_satellite_prod --hbacsvcs=satellite-prod
- Add the user who is to have access to the service satellite-prod, and the hostname of the Satellite server:
$ ipa hbacrule-add-user allow_satellite_prod --user=username $ ipa hbacrule-add-host allow_satellite_prod --hosts=the-satellite-fqdn
Alternatively, host groups and user groups can be added to the allow_satellite_prod rule. - To check the status of the rule, execute:
$ ipa hbacrule-find satellite-prod $ ipa hbactest --user=username --host=the-satellite-fqdn --service=satellite-prod
- Ensure the allow_all rule is disabled on the IdM/IPA server. For instructions on how to do so without disrupting other services see the How to configure HBAC rules in IPA article on the Red Hat Customer Portal[13].
- Configure the IdM/IPA integration with the Satellite server as described in Procedure 20.2, “To Configure IdM/IPA Authentication:”. On the Satellite server, define the PAM service as root:
# katello-installer --foreman-pam-service=satellite-prod
20.3. Using Active Directory with Cross-Forest Trust
- To enable the HBAC feature, create an external group and add the AD group to it. Add the new external group to a POSIX group. Use this POSIX group in a HBAC rule.
- Configure sssd to transfer additional attributes of AD users. Add these attributes to the nss and domain sections in
/etc/sssd/sssd.conf. For example:[nss] user_attributes=+mail, +sn, +givenname [domain/EXAMPLE] ldap_user_extra_attrs=mail, sn, givenname
20.4. Using Active Directory Directly
Note
Prerequisites
# yum install gssproxy
Procedure 20.4. To Enroll the Satellite Server with the AD Server:
- Install the required packages:
# yum install sssd adcli realmd ipa-python
- Enroll the Satellite server with the AD server. You may need to have administrator permissions to perform the following command:
# realm join -v EXAMPLE.ORG
katello-installer command. This can be done for already installed Satellite or during the Satellite installation. Note that the Apache user must not have access to the keytab file. Also take note of the effective user ID of the Apache user (that can be found by executing id apache). The following procedure uses the example UID 48.
Procedure 20.5. To Configure Direct AD Integration with GSS-proxy:
- The
katello-installercommand is by default set for the IdM/IPA integration. Change this setting by creating the/etc/ipa/default.conffile with the following content:[global] server = unused realm = EXAMPLE.ORG
- Create the
/etc/net-keytab.conffile with the following content:[global] workgroup = EXAMPLE realm = EXAMPLE.ORG kerberos method = system keytab security = ads
- Create a keytab file for HTTP using the following command:
# KRB5_KTNAME=FILE:/etc/gssproxy/http.keytab net ads keytab add HTTP -U administrator -d3 -s /etc/net-keytab.conf
This command fetches the HTTP service keytab file from the AD server and stores it at/etc/gssproxy/http.keytab. Make sure this file is owned by the root user and group:# chown root:root /etc/gssproxy/http.keytab
- Insert the following line at the beginning of the
/etc/krb5.conffile:includedir /var/lib/sss/pubconf/krb5.include.d/
- Create an empty keytab file at
/etc/httpd/conf/http.keytab:# touch /etc/httpd/conf/http.keytab
- Execute the following command:
# katello-installer --foreman-ipa-authentication=true
- Place the following text at the beginning of the /etc/gssproxy/gssproxy.conf configuration file:
[service/HTTP] mechs = krb5 cred_store = keytab:/etc/gssproxy/http.keytab cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U euid = 48
Here, 48 is the effective UID of the Apache user. This text must precede any section containing theallow_any_uid=yesdirective, therefore place it before the[service/nfs-client]section in the file. - Create a separate cache directory for Kerberos to avoid AVC denials:
# mkdir /var/lib/gssproxy/rcache
To configure thegssproxyservice to use the cache, create the/etc/systemd/system/gssproxy.servicefile and insert the following text:.include /usr/lib/systemd/system/gssproxy.service [Service] Environment=KRB5RCACHEDIR=/var/lib/gssproxy/rcache
Apply changes to the service:# systemctl daemon-reload
- Start and enable the
gssproxyservice:# systemctl restart gssproxy.service # systemctl enable gssproxy.service
- Configure the Apache server to use GSS-proxy by creating the
/etc/systemd/system/httpd.servicefile with the following content:.include /lib/systemd/system/httpd.service [Service] Environment=GSS_USE_PROXY=1
Apply changes to the service:# systemctl daemon-reload
- Start and enable the
httpdservice:# systemctl restart httpd.service
With a running Apache server, users making HTTP requests against the server are authenticated if the client has a valid Kerberos ticket.
Note
access_provider = ad ad_gpo_access_control = enforcing ad_gpo_map_service = +satellite-prod
20.5. External Authentication for Provisioned Hosts
20.5.1. Configuring a Red Hat Satellite Server or Capsule Server for IdM Realm Support
Prerequisites
- A Satellite Server is registered to the content delivery network, an independent Capsule Server is registered to the Satellite Server.
- A realm or domain provider such as Red Hat Identity Management is configured.
Procedure 20.6. To configure the Satellite Server or Capsule Server for IdM Realm Support:
- On the Satellite Server or Capsule Server, install the following packages:
# yum install ipa-client foreman-proxy ipa-admintools
- Configure the Satellite Server (or Capsule Server) as an IPA client:
# ipa-client-install
- Create a realm-capsule user and the relevant roles in Red Hat Identity Management on the Satellite Server or Capsule Server:
# foreman-prepare-realm admin realm-capsule
Running foreman-prepare-realm will prepare an IPA or IdM server for use with the Capsule. It creates a dedicated role with the permissions needed for Satellite, creates a user with that role and retrieves the keytab file. You will need your Identity Management server configuration details on this step.If the command successfully executes, you should be able to see the following command output:Keytab successfully retrieved and stored in: freeipa.keytab Realm Proxy User: realm-capsule Realm Proxy Keytab: /root/freeipa.keytab
- Move the
/root/freeipa.keytabto the/etc/foreman-proxydirectory and set the ownership settings to the user foreman-proxy:# mv /root/freeipa.keytab /etc/foreman-proxy # chown foreman-proxy:foreman-proxy /etc/foreman-proxy/freeipa.keytab
- Configure the realm based on whether you are using Satellite Server or Capsule Server:
- If you are using the integrated capsule in the Satellite Server, use
katello-installerto configure the realm:# katello-installer --capsule-realm true \ --capsule-realm-keytab /etc/foreman-proxy/freeipa.keytab \ --capsule-realm-principal 'realm-capsule@EXAMPLE.COM' \ --capsule-realm-provider freeipa
Note
You may also run these options when you first configure the Red Hat Satellite Server. - If you are using an independent Capsule Server, use
capsule-installerto configure the realm:# capsule-installer --realm true \ --realm-keytab /etc/foreman-proxy/freeipa.keytab \ --realm-principal 'realm-capsule@EXAMPLE.COM' \ --realm-provider freeipa
- Make sure that the most updated versions of the ca-certificates package is installed and trust the IPA Certificate Authority:
# cp /etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt # update-ca-trust enable # update-ca-trust
- (Optional) If you are configuring IdM on an already existing Satellite Server or Capsule Server, the following steps should also be taken to make sure that the configuration changes take effect:
- Restart the foreman-proxy service:
# service foreman-proxy restart
- Log in to the Satellite Server and click → .
- Click on the drop-down menu on the right-hand side of the Capsule Server you have configured for IdM and choose .
- Finally, create a new realm entry in the Satellite Server user interface:
- Click → and on the right-hand corner of the main page, click .
- Fill in the fields in the following subtabs:
- On the Realm subtab, provide the realm name, the type of realm to use and the realm proxy.
- On the Locations subtab, choose the locations where the new realm is intended for use.
- On the Organizations subtab, choose the organizations where the new realm is intended for use.
- Click .
20.5.2. Adding Hosts to an IdM Host Group
Note
Procedure 20.7. To Add Hosts to an IdM Host Group:
- On the IdM server, create a host group:
# ipa hostgroup-add hostgroup_name Description: hostgroup_description ---------------------------- Added hostgroup "hostgroup_name" ---------------------------- Host-group: hostgroup_name Description: hostgroup_description
Where:- hostgroup_name is the host group's name.
- hostgroup_description is the host group's description.
- Create an automembership rule:
# ipa automember-add --type=hostgroup automember_rule ---------------------------------- Added automember rule "automember_rule" ---------------------------------- Automember Rule: automember_rule
Where:automember-addflags the group as an automember group.--type=hostgroupidentifies that the target group is a host group, not a user group.- automember_rule is the name you wish to identify the automember rule by.
- Define an automembership condition based on the userclass attribute:
# ipa automember-add-condition --key=userclass --type=hostgroup --inclusive-regex=^webserver hostgroup_name ---------------------------------- Added condition(s) to "hostgroup_name" ---------------------------------- Automember Rule: automember_rule Inclusive Regex: userclass=^webserver ---------------------------- Number of conditions added 1 ----------------------------
Where:automember-add-conditionallows you to add regular expression conditions to identify group members.--key=userclassspecifies the key attribute as userclass.--type=hostgroupidentifies that the target group is a host group, not a user group.--inclusive-regex=^webserver is a regular expression pattern to identify matching values.- hostgroup_name is the target host group's name.
Chapter 21. Red Hat Satellite User Interface Plug-ins
21.1. Accessing Customer Portal Services from Red Hat Satellite
- Search solutions in the Customer Portal from within the Red Hat Satellite interface.
- Send specific parts (snippets) of the log files to assist in problem solving. Send these log snippets to the Red Hat Customer Portal diagnostic tool chain.
- Access your open support cases, modify an open support case and open a new support case from within the Red Hat Satellite interface.
Note
21.1.1. Searching for Solutions in the Red Hat Access Plug-in
Procedure 21.1. To Search for Solutions from the Red Hat Satellite Server:
- In the upper right, click → .
- If necessary, log in to the Red Hat Customer Portal. In the main panel on the upper right, click Log In.
Note
To access Red Hat Customer Portal resources, you must log in with your Red Hat Customer Portal user identification and password. - In the Red Hat Search field, enter your search query. Search results display in the left-hand Recommendations list.
- In the Recommendations list, click a solution. The solution article displays in the main panel.
21.1.2. Using Logs in the Red Hat Access Plug-in
Procedure 21.2. To Use the Logs Diagnostic Tool from the Red Hat Satellite Server:
- In the upper right, click → .
- If necessary, log in to the Red Hat Customer Portal. In the main panel on the upper right, click .
Note
To access Red Hat Customer Portal resources, you must log in with your Red Hat Customer Portal user identification and password. - In the left file tree, select a log file and click the file name.
- Click . A pop-up window displays the log file contents.
- In the log file, highlight any text sections you want diagnosed. The button displays.
- Click . The system sends the highlighted information to the Red Hat Customer Portal, and provides solutions that closely match the provided log information.
- If a solution does the following:
- Matches the problem, click the solution and follow the required steps to troubleshoot the issue.
- Does not match the problem, click . The support case is populated with the highlighted text from the log file. See Section 21.1.5, “Creating Support Cases Using the Red Hat Access Plug-in”.
21.1.3. Viewing Existing Support Cases Using the Red Hat Access Plug-in
Procedure 21.3. To View Existing Support Cases from the Red Hat Satellite Server:
- In the upper right, click → → .
- If necessary, log in to the Red Hat Customer Portal. In the main panel on the upper right, click .
Note
To access Red Hat Customer Portal resources, you must log in with your Red Hat Customer Portal user identification and password. - To search for a specific support case from existing cases, do any of the following:
- In the Search field, provide a key word or phrase.
- From the drop-down list, choose a specific Case Group. Your organization has defined Case Groups inside the Red Hat Customer Portal.
- Choose a Case Status.
- From the results, choose a specific support case and click the Case ID. The support case is ready to view.
21.1.4. Modifying Support Cases Using the Red Hat Access Plug-in
Procedure 21.4. To Update Support Cases from the Red Hat Satellite Server Web Interface:
- Complete the instructions from Section 21.1.3, “Viewing Existing Support Cases Using the Red Hat Access Plug-in”
- In the support case, scroll down to the marked sections to do the following:
- Attachments: - Attach a local file from the system. Add a file name to make it easier to identify.
Note
File names must be less than 80 characters and the maximum file size for attachments uploaded using the web interface is 250 MB. Use FTP for larger files. - Case Discussion: - Add any updated information about the case you wish to discuss with Global Support Services. After adding information, click .
21.1.5. Creating Support Cases Using the Red Hat Access Plug-in
Procedure 21.5. To Create a New Support Case using the Red Hat Satellite Server:
- In the upper right, click → → .
- If necessary, log in to the Red Hat Customer Portal. In the main panel on the upper right, click Log In.
Note
To access Red Hat Customer Portal resources, you must log in with your Red Hat Customer Portal user identification and password. - The Product and Product Version fields are automatically populated. Complete the other relevant fields, as follows:
- Summary: - Provide a brief summary of the issue.
- Description: - Write a detailed description of the issue.
Based on the summary provided, recommendations for possible solutions display in the main panel. - Click .
- Choose the appropriate options, as follows:
- Severity: Select the ticket urgency as 4 (low), 3 (normal), 2 (high> or 1 (urgent).
- Case Group: Based on who needs to be notified, create case groups associated with the support case. Select Case Groups in Red Hat Satellite. Create Case Groups within the Customer Portal.
- Attach any required files. Add a file description and click .To ensure you provide relevant information, it is recommended that you attach the output of the following commands:
# sosreport # foreman-debug
Important
foreman-debugremoves all security information such as password, tokens and keys while collecting information. However, the tarball can still contain sensitive information about the Red Hat Satellite Server. It is recommended to send this information directly to the intended recipient and not publicly.Note
File names must be less than 80 characters and the maximum file size for attachments uploaded using the web interface is 250 MB. Use FTP for larger files. - Click . The system uploads the case to the Customer Portal, and provides a case number for your reference.
Chapter 22. Command Line Reference
hammer is the CLI management tool for Red Hat Satellite functionality. It can:
- Provision hosts.
- Edit the attributes of a resource or group.
- Interact and manipulate hosts, capsules and domains.
hammer can be executed on the command line through its parameters and options or through the interactive shell. To invoke the shell:
Example 22.1. Invoking the hammer Shell
[root@satellite.example.com ~]# hammer shell Welcome to the hammer interactive shell Type 'help' for usage information Command completion is disabled on ruby < 1.9 due to compatibility problems. hammer> organization list ---|------------------|------------------|------------------------------ ID | NAME | LABEL | DESCRIPTION ---|------------------|------------------|------------------------------ 1 | ACME_Corporation | ACME_Corporation | ACME_Corporation Organization 3 | Test Corp | Test_Corp | ---|------------------|------------------|------------------------------ hammer>
# hammer -h
22.1. Configuring hammer
hammer from the command line, you need to enter your credentials for each operation. To avoid this, you can either use hammer shell as described in Example 22.1, “Invoking the hammer Shell” or you can create a configuration file in your home directory with your login credentials.
Important
Procedure 22.1. To Configure hammer to Use Saved Credentials:
- Create a
~/.hammer/cli_config.ymlfile if it does not already exist. - Add the following contents to the file. Ensure you replace the example values with your own details.
:foreman: :host: 'https://satellite.example.com/' :username: 'admin' :password: 'changeme' - Save and close the file. Now when you run
hammerit should not prompt you for your credentials.
Appendix A. Glossary of Terms
- Activation Key
- A registration token used in a Kickstart file to control actions at registration. These are similar to Activation Keys in Red Hat Satellite 5, but provide a subset of features because Puppet controls package and configuration management after registration.
- Application Life Cycle Environment
- An Application Life Cycle Environment represents a step, or stage, in a promotion path through the Software Development Life Cycle (SDLC). Promotion paths are also known as development paths. Content such as packages and Puppet modules move through life cycle environments by publishing and promoting Content Views. All Content Views have versions, which means you can promote a specific version through a typical promotion path; for example, from development to test to production. Channel cloning implements this concept in Red Hat Satellite 5.
- Attach
- The process of associating a Subscription to a Host that provides access to RPM content.
- Capsule
- A Capsule is an additional server that can be used in a Red Hat Satellite 6 deployment to facilitate content federation and distribution in addition to other localized services (Puppet Master,
DHCP,DNS,TFTP, and more). - Catalog
- A Catalog is a document that describes the desired system state for one specific computer. It lists all of the resources that need to be managed, as well as any dependencies between those resources.
- Compute Profile
- Compute Profiles specify default attributes for new virtual machines on a compute resource.
- Compute Resource
- A Compute Resource is virtual or cloud infrastructure, which Red Hat Satellite 6 uses for deployment of hosts and systems. Examples include Red Hat Enterprise Virtualization Manager, OpenStack, Amazon EC2, and VMware vSphere.
- Content
- Content includes software packages (RPM files) and Puppet modules. These are synchronized into the Library and then promoted into Life Cycle Environments using Content Views so that they can be consumed by Hosts.
- Content Delivery Network (CDN)
- The Content Delivery Network (CDN) is the mechanism used to deliver Red Hat content in a geographically co-located fashion. For example, content that is synchronized by a Satellite in Europe pulls content from a source in Europe.
- Content Host
- A Content Host is the part of a host that manages tasks related to content and subscriptions.
- Content View
- A Content View is a definition of content that combines products, packages, and Puppet modules with capabilities for intelligent filtering and creating snapshots. Content Views are a refinement of the combination of channels and cloning from Red Hat Satellite 5.
- External Node Classifier
- An External Node Classifier is a Puppet construct that provides additional data for a Puppet Master to use when configuring Hosts. Red Hat Satellite 6 acts as an External Node Classifier to Puppet Masters in a Satellite deployment.
- Facter
- Facter is a program that provides information (facts) about the system on which it is run; for example, Facter can report total memory, operating system version, architecture, and more. Puppet modules enable specific configurations based on host data gathered by Facter.
- Hammer
- Hammer is a command line tool for Red Hat Satellite 6. Use Hammer to manage Red Hat Satellite 6 as a standard CLI, for scripts, and also through an interactive shell.
- Hiera
- Hiera is a key/value look-up tool for configuration data which allows keeping site-specific data out of puppet manifests.
- Host
- A Host refers to any system, either physical or virtual, that Red Hat Satellite 6 manages.
- Host Collection
- A Host Collection is equivalent to a Satellite 5 System Group, that is, a user defined group of one or more Hosts.
- Host Group
- A Host Group is a template for building a Host. This includes the content view (which defines the available RPM files and Puppet modules) and the Puppet classes to apply (which ultimately determines the software and configuration).
- Location
- A Location is collection of default settings that represent a physical place. These can be nested so that you can set up an hierarchical collection of locations. For example, you can set up defaults for "Middle East", which are refined by "Tel Aviv", which are further refined by "Data Center East", and then finally by "Rack 22".
- Library
- The Library contains every version, including the latest synchronized version, of the software that the user will ever deploy. For an Information Technology Infrastructure Library (ITIL) [16] organization or department, this is the Definitive Media Library [17] (previously named the Definitive Software Library).
- Manifest
- A Manifest transfers subscriptions from the Customer Portal to Red Hat Satellite 6. This is similar in function to certificates used with Red Hat Satellite 5.For more information about certificates and subscription types, see:
- Organization
- An Organization is an isolated collection of systems, content, and other functionality within a Satellite 6 deployment.
- Product
- A collection of content repositories. Products can be Red Hat products or newly-created products made up of software and configuration content.
- Promote
- The act of moving a content view comprised of software and configuration content from one Application Life Cycle Environment to another, such as moving from development to QA to production.
- Provisioning Template
- A Provisioning Template is a user-defined template for Kickstart files, snippets, and other provisioning actions. In Satellite 6 they provide similar functionality to Kickstart Profiles and cobbler Snippets in Red Hat Satellite 5.
- Pulp Node
- A Pulp Node is a Capsule Server component that mirrors content. This is similar to the Red Hat Satellite 5 Proxy. The main difference is that content can be staged on the Pulp Node before it is used by a Host.
- Puppet Agent
- The Puppet Agent is an agent that runs on a Host and applies configuration changes to that Host.
- Puppet Master
- A Puppet Master is a Capsule Server component that provides Puppet manifests to Hosts for execution by the Puppet Agent.
- Puppet Module
- A Puppet Module is a self-contained bundle of code and data that you can use to manage resources such as users, files, and services.
- Repository
- A Repository provides storage for a collection of content. For example, a YUM repository or a Puppet repository.
- Role
- A Role specifies a collection of permissions that are applied to a set of resources, such as Hosts.
- Smart Proxy
- A Smart Proxy is a Capsule Server component that can integrate with external services, such as
DNSorDHCP. - Smart Variable
- A Smart Variable is a configuration value that controls how a Puppet Class behaves. This can be set on a Host, a Host Group, an Organization, or a Location.
- Standard Operating Environment (SOE)
- A Standard Operating Environment (SOE) is a controlled version of the operating system on which applications are deployed.
- Subscription
- Subscriptions are the means by which you receive content and service from Red Hat.
- Synchronizing
- Synchronizing refers to mirroring content from external resources into the Red Hat Satellite 6 Library.
- Synchronization Plans
- Synchronization Plans provide scheduled execution of content synchronization.
- Unattended Mode
- In the context of PXE-less discovery, refers to the ability of Red Hat Satellite to initiate the provisioning process with no interaction from the user. For more information, see Unattended and semi-automatic mode in the Foreman Discovery Manual[20].
- User Group
- A User Group is a collection of roles which can be assigned to a collection of users. This is similar to a Role in Red Hat Satellite 5.
- User
- A user is anyone registered to use Red Hat Satellite. Authentication and authorization is possible through built-in logic, through external LDAP resources, or with Kerberos.
Appendix B. Revision History
| Revision History | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revision 2-6 | Wed Aug 24 2016 | ||||||||||||||
| |||||||||||||||
| Revision 2-5 | Tue Dec 15 2015 | ||||||||||||||
| |||||||||||||||
| Revision 2-4 | Mon Nov 16 2015 | ||||||||||||||
| |||||||||||||||
| Revision 2-3 | Tue Nov 13 2015 | ||||||||||||||
| |||||||||||||||
| Revision 2-2 | Tue Nov 03 2015 | ||||||||||||||
| |||||||||||||||
| Revision 2-1 | Mon Oct 12 2015 | ||||||||||||||
| |||||||||||||||
| Revision 2-0 | Mon Aug 31 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-55 | Thurs July 23 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-54 | Wed July 22 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-53 | Fri July 17 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-52 | Tues July 14 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-51 | Tues July 14 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-50 | Mon July 13 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-49 | Thu July 2 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-48 | Wed July 1 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-47 | Tue Jun 30 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-46 | Mon Jun 29 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-45 | Thu Jun 25 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-44 | Mon Jun 22 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-43 | Mon Jun 15 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-42 | Mon June 8 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-41 | Thu June 4 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-40 | Mon May 11 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-39 | Fri May 8 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-38 | Thu April 30 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-37 | Wed April 29 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-36 | Fri April 24 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-35 | Thu April 23 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-34 | Wed April 22 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-33 | Fri April 17 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-32 | Thu April 16 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-31 | Wed April 8 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-30 | Thu April 2 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-29 | Thu April 2 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-28 | Mon Mar 30 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-27 | Tue Mar 17 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-26 | Tue Mar 17 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-25 | Mon Mar 02 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-24 | Wed Feb 25 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-23 | Tue Feb 24 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-22 | Mon Feb 9 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-21 | Mon Feb 9 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-20 | Fri Jan 23 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-19 | Fri Jan 23 2015 | ||||||||||||||
| |||||||||||||||
| Revision 1-18 | Fri Dec 19 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-17 | Tues Dec 9 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-16.1 | Wed Nov 26 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-16 | Mon Nov 24 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-15.2 | Fri Nov 21 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-15 | Thurs Nov 20 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-14 | Mon Nov 17 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-13 | Sun Nov 16 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-12 | Fri Nov 14 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-11.2 | Friday Nov 14 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-11.1 | Mon Nov 10 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-11 | Mon Nov 10 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-10 | Fri Nov 7 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-9 | Thu Nov 6 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-8 | Thu Nov 6 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-7 | Thu Oct 30 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-6 | Thu Oct 23 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-5 | Fri Oct 3 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-4 | Thu Oct 2 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-3 | Wed Oct 1 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-2.01 | Fri Sep 12 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-2 | Fri Sep 12 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-1 | Thu Sep 11 2014 | ||||||||||||||
| |||||||||||||||
| Revision 1-0 | Tue 9 Sep 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-23 | Thu 21 Aug 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-22 | Fri 15 Aug 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-21 | Tue 12 Aug 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-20 | Fri 18 July 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-19 | Fri 11 July 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-18 | Thu 10 July 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-17 | Wed 9 July 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-16 | Wed 25 Jun 2014 | ||||||||||||||
| |||||||||||||||
| Revision 0-15 | Mon 11 Nov 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-14 | Mon 11 Nov 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-13 | Wed 09 Oct 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-12 | Wed 09 Oct 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-11 | Tue 1 Oct 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-10 | Mon 30 Sep 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-09 | Wed 18 Sep 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-08 | Tue 17 Sep 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-07 | Fri 13 Sep 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-06 | Thu 12 Sep 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-05 | Thu 12 Sep 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-04 | Mon 12 Aug 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-03 | Mon 12 Aug 2013 | ||||||||||||||
| |||||||||||||||
| Revision 0-02 | Tue 28 May 2013 | ||||||||||||||
| |||||||||||||||
