Chapter 3. Performing Additional Configuration on Capsule Server
Use this chapter to configure additional settings on your Capsule Server.
3.1. Configuring Capsule for Host Registration and Provisioning
Use this procedure to configure Capsule so that you can register and provision hosts using your Capsule Server instead of your Satellite Server.
Procedure
On Satellite Server, add the Capsule to the list of trusted proxies.
This is required for Satellite to recognize hosts' IP addresses forwarded over the
X-Forwarded-For
HTTP header set by Capsule. For security reasons, Satellite recognizes this HTTP header only from localhost by default. You can enter trusted proxies as valid IPv4 or IPv6 addresses of Capsules, or network ranges.WarningDo not use a network range that is too wide, because that poses a potential security risk.
Enter the following command. Note that the command overwrites the list that is currently stored in Satellite. Therefore, if you have set any trusted proxies previously, you must include them in the command as well:
# satellite-installer \ --foreman-trusted-proxies "127.0.0.1/8" \ --foreman-trusted-proxies "::1" \ --foreman-trusted-proxies "My_IP_address" \ --foreman-trusted-proxies "My_IP_range"
The localhost entries are required, do not omit them.
Verification
List the current trusted proxies using the full help of Satellite installer:
# satellite-installer --full-help | grep -A 2 "trusted-proxies"
- The current listing contains all trusted proxies you require.
3.2. Enabling Katello Agent on External Capsules
Remote Execution is the primary method of managing packages on Content Hosts. To be able to use the deprecated Katello Agent it must be enabled on each Capsule.
Procedure
To enable Katello Agent infrastructure, enter the following command:
# satellite-installer --scenario capsule \ --foreman-proxy-content-enable-katello-agent=true
3.3. Configuring Remote Execution for Pull Client
By default, Remote Execution uses SSH as the transport mechanism for the Script provider. However, Remote Execution also offers pull-based transport, which you can use if your infrastructure prohibits outgoing connections from Capsule to hosts.
This is comprised of pull-mqtt
mode on Capsule in combination with a pull client running on hosts. Configure the pull-mqtt
mode to migrate from Katello Agent, which is a deprecated method of pull-based transport.
The pull-mqtt
mode works only with the Script provider. Ansible and other providers will continue to use their default transport settings.
The mode is configured per Capsule. Some Capsules can be configured to use pull-mqtt
mode while others use SSH. If this is the case, it is possible that one remote job on a given host will use the pull client and the next job on the same host will use SSH. If you wish to avoid this scenario, configure all Capsules to use the same mode.
Procedure
Enable the pull-based transport on each relevant Capsule Server:
# satellite-installer --scenario capsule \ --foreman-proxy-plugin-remote-execution-script-mode pull-mqtt
Configure the firewall to allow MQTT service on port 1883:
# firewall-cmd --add-port="1883/tcp" # firewall-cmd --runtime-to-permanent
-
In
pull-mqtt
mode, hosts subscribe for job notifications to the Capsule through which they are registered. Therefore, it is recommended to ensure that Satellite Server sends remote execution jobs to that same Capsule. To do this, in the Satellite web UI, navigate to Administer > Settings. On the Content tab, set the value of Prefer registered through Capsule for remote execution to Yes. - After you set up the pull-based transport on Capsule, you must also configure it on each host. For more information, see Transport Modes for Remote Execution in Managing Hosts.
3.4. Enabling OpenSCAP on Capsule Servers
On Satellite Server and the integrated Capsule of your Satellite Server, OpenSCAP is enabled by default. To use the OpenSCAP plug-in and content on external Capsules, you must enable OpenSCAP on each Capsule.
Procedure
To enable OpenSCAP, enter the following command:
# satellite-installer --scenario capsule \ --enable-foreman-proxy-plugin-openscap \ --foreman-proxy-plugin-openscap-ansible-module true \ --foreman-proxy-plugin-openscap-puppet-module true
If you want to use Puppet to deploy compliance policies, you must enable it first. For more information, see Managing Configurations Using Puppet Integration in Red Hat Satellite.
3.5. Adding Lifecycle Environments to Capsule Servers
If your Capsule Server has the content functionality enabled, you must add an environment so that Capsule can synchronize content from Satellite Server and provide content to host systems.
Do not assign the Library lifecycle environment to your Capsule Server because it triggers an automated Capsule sync every time the CDN updates a repository. This might consume multiple system resources on Capsules, network bandwidth between Satellite and Capsules, and available disk space on Capsules.
You can use Hammer CLI on Satellite Server or the Satellite web UI.
Procedure
- In the Satellite web UI, navigate to Infrastructure > Capsules, and select the Capsule that you want to add a lifecycle to.
- Click Edit and click the Lifecycle Environments tab.
- From the left menu, select the lifecycle environments that you want to add to Capsule and click Submit.
- To synchronize the content on the Capsule, click the Overview tab and click Synchronize.
Select either Optimized Sync or Complete Sync.
For definitions of each synchronization type, see Recovering a Repository.
CLI procedure
To display a list of all Capsule Servers, on Satellite Server, enter the following command:
# hammer capsule list
Note the Capsule ID of the Capsule to which you want to add a lifecycle.
Using the ID, verify the details of your Capsule:
# hammer capsule info \ --id My_capsule_ID
To view the lifecycle environments available for your Capsule Server, enter the following command and note the ID and the organization name:
# hammer capsule content available-lifecycle-environments \ --id My_capsule_ID
Add the lifecycle environment to your Capsule Server:
# hammer capsule content add-lifecycle-environment \ --id My_capsule_ID \ --lifecycle-environment-id My_Lifecycle_Environment_ID --organization "My_Organization"
Repeat for each lifecycle environment you want to add to Capsule Server.
Synchronize the content from Satellite to Capsule.
To synchronize all content from your Satellite Server environment to Capsule Server, enter the following command:
# hammer capsule content synchronize \ --id My_capsule_ID
To synchronize a specific lifecycle environment from your Satellite Server to Capsule Server, enter the following command:
# hammer capsule content synchronize \ --id My_capsule_ID --lifecycle-environment-id My_Lifecycle_Environment_ID
3.6. Enabling Power Management on Managed Hosts
To perform power management tasks on managed hosts using the intelligent platform management interface (IPMI) or a similar protocol, you must enable the baseboard management controller (BMC) module on Capsule Server.
Prerequisites
- All managed hosts must have a network interface of BMC type. Capsule Server uses this NIC to pass the appropriate credentials to the host. For more information, see Adding a Baseboard Management Controller (BMC) Interface in Managing Hosts.
Procedure
To enable BMC, enter the following command:
# satellite-installer --scenario capsule \ --foreman-proxy-bmc "true" \ --foreman-proxy-bmc-default-provider "freeipmi"
3.7. Configuring DNS, DHCP, and TFTP on Capsule Server
To configure the DNS, DHCP, and TFTP services on Capsule Server, use the satellite-installer
command with the options appropriate for your environment. To view a complete list of configurable options, enter the satellite-installer --scenario satellite --help
command.
Any changes to the settings require entering the satellite-installer
command again. You can enter the command multiple times and each time it updates all configuration files with the changed values.
To use external DNS, DHCP, and TFTP services instead, see Chapter 4, Configuring Capsule Server with External Services.
Adding Multihomed DHCP details
If you want to use Multihomed DHCP, you must inform the installer.
Prerequisites
-
You must have the correct network name (
dns-interface
) for the DNS server. -
You must have the correct interface name (
dhcp-interface
) for the DHCP server. - Contact your network administrator to ensure that you have the correct settings.
Procedure
Enter the
satellite-installer
command with the options appropriate for your environment. The following example shows configuring full provisioning services:# satellite-installer --scenario capsule \ --foreman-proxy-dns true \ --foreman-proxy-dns-managed true \ --foreman-proxy-dns-zone example.com \ --foreman-proxy-dns-reverse 2.0.192.in-addr.arpa \ --foreman-proxy-dhcp true \ --foreman-proxy-dhcp-managed true \ --foreman-proxy-dhcp-range "192.0.2.100 192.0.2.150" \ --foreman-proxy-dhcp-gateway 192.0.2.1 \ --foreman-proxy-dhcp-nameservers 192.0.2.2 \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed true \ --foreman-proxy-tftp-servername 192.0.2.3
For more information about configuring DHCP, DNS, and TFTP services, see Configuring Network Services in Provisioning Hosts.