Chapter 3. Registering Hosts to Satellite
There are three main methods for registering hosts to Satellite Server or Capsule Server:
(Default method) Generate a
curlcommand from Satellite and run this command from unlimited number of hosts to register them using the global registration template. This method is suited for hosts that haven’t been registered to Satellite yet.By using this method you can also deploy Satellite SSH keys to hosts during registration to Satellite to enable hosts for remote execution jobs. For more information about the remote execution jobs, see Configuring and Setting up Remote Jobs.
By using this method you can also configure hosts with Red Hat Insights during registration to Satellite. For more information about using Insights with Satellite hosts, see Monitoring Hosts Using Red Hat Insights.
-
(Deprecated) Download and install the consumer RPM
satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpmand then run Subscription Manager. This method is suited for hosts that haven’t been provisioned through Satellite. -
(Deprecated) Download and run the bootstrap script (
satellite.example.com/pub/bootstrap.py). This method is suited for hosts that haven’t been provisioned through Satellite.
You can also register Atomic Hosts to Satellite Server or Capsule Server.
Use one of the following procedures to register a host:
Use the following procedures to install and configure host tools:
Supported Host Operating Systems
Hosts must use one of the following Red Hat Enterprise Linux versions:
- 9.0 or later
- 8.0 or later
- 7.2 or later
- 6 with the ELS Add-On
Note that the entitlement-based subscription model is deprecated and will be removed in a future release. Red Hat recommends that you use the access-based subscription model of Simple Content Access instead.
Supported Architectures
All architectures of Red Hat Enterprise Linux are supported:
- i386
- x86_64
- s390x
- ppc_64
3.1. Registering Hosts
Hosts can be registered to Satellite by generating a curl command on Satellite and running this command on hosts. This method uses two templates: global registration template and host initial configuration template. That gives you complete control over the host registration process. You can set default templates by navigating to Administer > Settings, and clicking the Provisioning tab.
Prerequisites
-
The Satellite user that generates the
curlcommand must have thecreate_hostspermission. - You must have root privileges on the host that you want to register.
- Satellite Server, any Capsule Servers, and all hosts must be synchronized with the same NTP server, and have a time synchronization tool enabled and running.
- The daemon rhsmcertd must be running on the hosts.
- An activation key must be available for the host. For more information, see Managing Activation Keys in Managing Content.
-
Optional: If you want to register hosts to Red Hat Insights, you must synchronize the
rhel-8-for-x86_64-baseos-rpmsandrhel-8-for-x86_64-appstream-rpmsrepositories and make them available in the activation key that you use. This is required to install theinsights-clientpackage on hosts. - If you want to use Capsule Servers instead of your Satellite Server, ensure that you have configured your Capsule Servers accordingly. For more information, see Configuring Capsule for Host Registration and Provisioning in Installing Capsule Server.
Procedure
- In the Satellite web UI, navigate to Hosts > Register Host.
- Optional: Select a different Organization.
- Optional: Select a different Location.
- Optional: From the Host Group list, select the host group to associate the hosts with. Fields that inherit value from Host group: Operating system, Activation Keys and Lifecycle environment.
- Optional: From the Operating system list, select the operating system of hosts that you want to register.
- Optional: From the Capsule list, select the Capsule to register hosts through.
Optional: Select the Insecure option, if you want to make the first call insecure. During this first call, hosts download the CA file from Satellite. Hosts will use this CA file to connect to Satellite with all future calls making them secure.
Red Hat recommends that you avoid insecure calls.
If an attacker, located in the network between Satellite and a host, fetches the CA file from the first insecure call, the attacker will be able to access the content of the API calls to and from the registered host and the JSON Web Tokens (JWT). Therefore, if you have chosen to deploy SSH keys during registration, the attacker will be able to access the host using the SSH key.
Instead, you can manually copy and install the CA file on each host before registering the host.
To do this, find where Satellite stores the CA file by navigating to Administer > Settings > Authentication and locating the value of the SSL CA file setting.
Copy the CA file to the
/etc/pki/ca-trust/source/anchors/directory on hosts and enter the following commands:# update-ca-trust enable # update-ca-trust
Then register the hosts with a secure
curlcommand, such as:# curl -sS https://satellite.example.com/register ...
The following is an example of the
curlcommand with the--insecureoption:# curl -sS --insecure https://satellite.example.com/register ...
- Select the Advanced tab.
From the Setup REX list, select whether you want to deploy Satellite SSH keys to hosts or not.
If set to
Yes, public SSH keys will be installed on the registered host. The inherited value is based on thehost_registration_remote_executionparameter. It can be inherited, for example from a host group, an operating system, or an organization. When overridden, the selected value will be stored on host parameter level.From the Setup Insights list, select whether you want to install
insights-clientand register the hosts to Insights.The Insights tool is available for Red Hat Enterprise Linux only. It has no effect on other operating systems.
You must enable the following repositories on a registered machine:
-
Red Hat Enterprise Linux 6:
rhel-6-server-rpms -
Red Hat Enterprise Linux 7:
rhel-7-server-rpms Red Hat Enterprise Linux 8:
rhel-8-for-x86_64-appstream-rpmsThe
insights-clientpackage is installed by default on Red Hat Enterprise Linux 8 except in environments whereby Red Hat Enterprise Linux 8 was deployed with "Minimal Install" option.
-
Red Hat Enterprise Linux 6:
-
Optional: In the Install packages field, list the packages (separated with spaces) that you want to install on the host upon registration. This can be set by the
host_packagesparameter. -
Optional: Select the Update packages option to update all packages on the host upon registration. This can be set by the
host_update_packagesparameter. -
Optional: In the Repository field, enter a repository to be added before the registration is performed. For example, it can be useful to make the
subscription-managerpackage available for the purpose of the registration. For Red Hat family distributions, enter the URL of the repository, for examplehttp://rpm.example.com/. - Optional: In the Repository GPG key URL field, specify the public key to verify the signatures of GPG-signed packages. It needs to be specified in the ASCII form with the GPG public key header.
Optional: In the Token lifetime (hours) field, change the validity duration of the JSON Web Token (JWT) that Satellite uses for authentication. The duration of this token defines how long the generated
curlcommand works. You can set the duration to 0 – 999 999 hours or unlimited.Note that Satellite applies the permissions of the user who generates the
curlcommand to authorization of hosts. If the user loses or gains additional permissions, the permissions of the JWT change too. Therefore, do not delete, block, or change permissions of the user during the token duration.The scope of the JWTs is limited to the registration endpoints only and cannot be used anywhere else.
- Optional: In the Remote Execution Interface field, enter the identifier of a network interface that hosts must use for the SSH connection. If you keep this field blank, Satellite uses the default network interface.
From the REX pull mode list, select whether you want to deploy Satellite remote execution pull client.
If set to
Yes, the remote execution pull client is installed on the registered host. The inherited value is based on thehost_registration_remote_execution_pullparameter. It can be inherited, for example from a host group, an operating system, or an organization. When overridden, the selected value is stored on the host parameter level.The registered host must have access to the Red Hat Satellite Client 6 repository.
For more information about the pull mode, see Section 11.4, “Transport Modes for Remote Execution”.
- In the Activation Keys field, enter one or more activation keys to assign to hosts.
- Optional: Select the Lifecycle environment.
- Optional: Select the Ignore errors option if you want to ignore subscription manager errors.
-
Optional: Select the Force option if you want to remove any
katello-ca-consumerrpms before registration and runsubscription-managerwith the--forceargument. - Click the Generate button.
-
Copy the generated
curlcommand. -
On the hosts that you want to register, run the
curlcommand asroot.
3.2. Customizing the Registration Templates
Use information in this section if you want to customize the registration process.
Note that all default templates in Satellite are locked. If you want to customize the registration process, you need to clone the default templates and edit the clones. Then, in Administer > Settings > Provisioning change the Default Global registration template and Default 'Host initial configuration' template settings to point to your custom templates.
Templates
The registration process uses the following registration templates:
-
The Global Registration template contains steps for registering hosts to Satellite. This template renders when hosts access the
/registerendpoint. - The Linux host_init_config default template contains steps for initial configuration of hosts after they are registered.
Global Parameters
You can configure the following global parameters by navigating to Configure > Global Parameters:
-
The
host_registration_remote_executionparameter is used in theremote_execution_ssh_keyssnippet, the default value istrue. -
The
host_registration_insightsparameter is used in theinsightssnippet, the default value istrue. Set the parameter type tobooleanto override the parameter value. If the parameter is set tofalse, it prevents Satellite and the Insights client from uploading Inventory reports to your Red Hat Hybrid Cloud Console. -
The
host_packagesparameter is for installing packages on the host. -
The
remote_execution_ssh_keys,remote_execution_ssh_user,remote_execution_create_userandremote_execution_effective_user_methodparameters are used in theremote_execution_ssh_keys. For more details se the details of the snippet. The
encrypt_grubparameter is to enable setting of an encrypted bootloader password for the host, the default value isfalse.To actually set the password, use the
grub_passmacro in your template.
Snippets
Snippet is used in the Linux host_init_config default template:
-
The
remote_execution_ssh_keyssnippet deploys SSH keys to the host only when thehost_registration_remote_executionparameter istrue. -
The
insightssnippet downloads and installs the Red Hat Insights client when global parameterhost_registration_insightsis set to true. -
The
puppetlabs_repoandpuppet_setupsnippets download and install Puppet agent on the host (only when a Puppet server is assigned) -
The
host_init_config_postis empty snippet for user’s custom actions on during host initial configuration.
Variables
This table describes what variables are used in the Global Registration template.
Table 3.1. The Global Registration Template Variables
| Variable | Command argument | Description |
|---|---|---|
|
| none | Current authenticated user object. |
|
|
|
If |
|
|
|
If |
|
|
| Host group of the host. |
|
|
| Host operating system. |
|
|
|
Override the value of the |
|
|
|
Override the value of |
|
|
| Set default interface of host for the remote execution. |
|
|
| Packages to install |
|
|
| Add repository on the host |
|
|
| Set repository GPG key form URL |
|
|
| Host activation keys. |
|
|
|
Remove any |
|
|
| Ignore subscription-manager errors |
|
|
| Life cycle environment id |
|
| none |
URL for the |
3.3. Installing and Configuring Puppet Agent during Host Registration
You can install and configure the Puppet agent on the host during registration. A configured Puppet agent is required on the host for Puppet integration with your Satellite. For more information about Puppet, see Managing Configurations Using Puppet Integration in Red Hat Satellite.
Prerequisites
- Puppet must be enabled in your Satellite. For more information, see Enabling Puppet Integration with Satellite in Managing Configurations Using Puppet Integration in Red Hat Satellite.
- You enabled and synchronized the Satellite Client 6 repository to Satellite. For more information, see Importing Content in Managing Content.
- You created an activation key that enables the Satellite Client 6 repository for hosts. For more information, see Managing Activation Keys in Managing Content.
Procedure
- In the Satellite web UI, navigate to Configure > Global Parameters to add host parameters globally. Alternatively, you can navigate to Configure > Host Groups and edit or create a host group to add host parameters only to a host group.
-
Enable the Puppet agent using a host parameter in global parameters or a host group. Add a host parameter named
enable-puppet7, select the boolean type, and set the value totrue. Specify configuration for the Puppet agent using the following host parameters in global parameters or a host group:
-
Add a host parameter named
puppet_server, select the string type, and set the value to the hostname of your Puppet server, such aspuppet.example.com. -
Optional: Add a host parameter named
puppet_ca_server, select the string type, and set the value to the hostname of your Puppet CA server, such aspuppet-ca.example.com. Ifpuppet_ca_serveris not set, the Puppet agent will use the same server aspuppet_server. -
Optional: Add a host parameter named
puppet_environment, select the string type, and set the value to the Puppet environment you want the host to use.
Until the BZ2177730 is resolved, you must use host parameters to specify the Puppet agent configuration even in integrated setups where the Puppet server is a Capsule Server.
-
Add a host parameter named
- Navigate to Hosts > Register Host and register your host using an appropriate activation key. For more information, see Registering Hosts in Managing Hosts.
- Navigate to Infrastructure > Capsules.
- From the list in the Actions column for the required Capsule Server, select Certificates.
- Click Sign to the right of the required host to sign the SSL certificate for the Puppet agent.
3.4. Registering an Atomic Host to Red Hat Satellite
Use the following procedure to register an Atomic Host to Red Hat Satellite.
Procedure
-
Log in to the Atomic Host as the
rootuser. Retrieve
katello-rhsm-consumerfrom Satellite Server:# wget http://satellite.example.com/pub/katello-rhsm-consumerChange the mode of
katello-rhsm-consumerto make it executable:# chmod +x katello-rhsm-consumer
Run
katello-rhsm-consumer:# ./katello-rhsm-consumer
Register with Subscription Manager:
# subscription-manager register
The Katello agent is not supported on Atomic Hosts.
3.5. Registering a Host to Red Hat Satellite Using The Bootstrap Script
Deprecated Use registration via Global registration feature.
Use the bootstrap script to automate content registration and Puppet configuration. You can use the bootstrap script to register new hosts, or to migrate existing hosts from RHN, SAM, RHSM, or another Red Hat Satellite instance.
The katello-client-bootstrap package is installed by default on Satellite Server’s base operating system. The bootstrap.py script is installed in the /var/www/html/pub/ directory to make it available to hosts at satellite.example.com/pub/bootstrap.py. The script includes documentation in the /usr/share/doc/katello-client-bootstrap-version/README.md file.
To use the bootstrap script, you must install it on the host. As the script is only required once, and only for the root user, you can place it in /root or /usr/local/sbin and remove it after use. This procedure uses /root.
Prerequisites
-
You have a Satellite user with the permissions required to run the bootstrap script. The examples in this procedure specify the
adminuser. If this is not acceptable to your security policy, create a new role with the minimum permissions required and add it to the user that will run the script. For more information, see Section 3.5.1, “Setting Permissions for the Bootstrap Script”. - You have an activation key for your hosts with the Satellite Client 6 repository enabled. For information on configuring activation keys, see Managing Activation Keys in Managing Content.
- You have created a host group. For more information about creating host groups, see Section 2.7, “Creating a Host Group”.
Puppet Considerations
If a host group is associated with a Puppet environment created inside a Production environment, Puppet fails to retrieve the Puppet CA certificate while registering a host from that host group.
To create a suitable Puppet environment to be associated with a host group, follow these steps:
Manually create a directory:
# mkdir /etc/puppetlabs/code/environments/example_environment- In the Satellite web UI, navigate to Configure > Environments and click Import environment from. The button name includes the FQDN of the internal or external Capsule.
- Choose the created directory and click Update.
Procedure
-
Log in to the host as the
rootuser. Download the script:
# curl -O http://satellite.example.com/pub/bootstrap.pyMake the script executable:
# chmod +x bootstrap.py
Confirm that the script is executable by viewing the help text:
On Red Hat Enterprise Linux 8:
# /usr/libexec/platform-python bootstrap.py -h
On other Red Hat Enterprise Linux versions:
# ./bootstrap.py -h
Enter the bootstrap command with values suitable for your environment.
For the
--serveroption, specify the FQDN of Satellite Server or a Capsule Server. For the--location,--organization, and--hostgroupoptions, use quoted names, not labels, as arguments to the options. For advanced use cases, see Section 3.5.2, “Advanced Bootstrap Script Configuration”.On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key"
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# ./bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key"
Enter the password of the Satellite user you specified with the
--loginoption.The script sends notices of progress to stdout.
-
When prompted by the script, approve the host’s Puppet certificate. In the Satellite web UI, navigate to Infrastructure > Capsules and find the Satellite or Capsule Server you specified with the
--serveroption. - From the list in the Actions column, select Certificates.
- In the Actions column, click Sign to approve the host’s Puppet certificate.
- Return to the host to see the remainder of the bootstrap process completing.
- In the Satellite web UI, navigate to Hosts > All hosts and ensure that the host is connected to the correct host group.
Optional: After the host registration is complete, remove the script:
# rm bootstrap.py
3.5.1. Setting Permissions for the Bootstrap Script
Use this procedure to configure a Satellite user with the permissions required to run the bootstrap script. To use the CLI instead of the Satellite web UI, see the CLI procedure.
Procedure
- In the Satellite web UI, navigate to Administer > Users.
- Select an existing user by clicking the required Username. A new pane opens with tabs to modify information about the selected user. Alternatively, create a new user specifically for the purpose of running this script.
- Click the Roles tab.
Select Edit hosts and Viewer from the Roles list.
ImportantThe Edit hosts role allows the user to edit and delete hosts as well as being able to add hosts. If this is not acceptable to your security policy, create a new role with the following permissions and assign it to the user:
-
view_organizations -
view_locations -
view_domains -
view_hostgroups -
view_hosts -
view_architectures -
view_ptables -
view_operatingsystems -
create_hosts
-
- Click Submit.
CLI procedure
Create a role with the minimum permissions required by the bootstrap script. This example creates a role with the name Bootstrap:
# ROLE='Bootstrap' hammer role create --name "$ROLE" hammer filter create --role "$ROLE" --permissions view_organizations hammer filter create --role "$ROLE" --permissions view_locations hammer filter create --role "$ROLE" --permissions view_domains hammer filter create --role "$ROLE" --permissions view_hostgroups hammer filter create --role "$ROLE" --permissions view_hosts hammer filter create --role "$ROLE" --permissions view_architectures hammer filter create --role "$ROLE" --permissions view_ptables hammer filter create --role "$ROLE" --permissions view_operatingsystems hammer filter create --role "$ROLE" --permissions create_hosts
Assign the new role to an existing user:
# hammer user add-role --id user_id --role Bootstrap
Alternatively, you can create a new user and assign this new role to them. For more information on creating users with Hammer, see Managing Users and Roles in Administering Red Hat Satellite.
3.5.2. Advanced Bootstrap Script Configuration
This section has more examples for using the bootstrap script to register or migrate a host.
These examples specify the admin Satellite user. If this is not acceptable to your security policy, create a new role with the minimum permissions required by the bootstrap script. For more information, see Section 3.5.1, “Setting Permissions for the Bootstrap Script”.
3.5.2.1. Migrating a Host From One Satellite to Another Satellite
Use the script with --force to remove the katello-ca-consumer-* packages from the old Satellite and install the katello-ca-consumer-* packages on the new Satellite.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --force
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --force
3.5.2.2. Migrating a Host from Red Hat Network (RHN) or Satellite 5 to Satellite
The bootstrap script detects the presence of /etc/syconfig/rhn/systemid and a valid connection to RHN as an indicator that the system is registered to a legacy platform. The script then calls rhn-classic-migrate-to-rhsm to migrate the system from RHN. By default, the script does not delete the system’s legacy profile due to auditing reasons. To remove the legacy profile, use --legacy-purge, and use --legacy-login to supply a user account that has appropriate permissions to remove a profile. Enter the user account password when prompted.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --legacy-purge \ --legacy-login rhn-user
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --legacy-purge \ --legacy-login rhn-user
3.5.2.3. Registering a Host to Satellite without Puppet
By default, the bootstrap script configures the host for content management and configuration management. If you have an existing configuration management system and do not want to install Puppet on the host, use --skip-puppet.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --skip-puppet
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --skip-puppet
3.5.2.4. Registering a Host to Satellite for Content Management Only
To register a system as a content host, and omit the provisioning and configuration management functions, use --skip-foreman.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --server satellite.example.com \ --organization="My_Organization" \ --activationkey="My_Activation_Key" \ --skip-foreman
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --server satellite.example.com \ --organization="My_Organization" \ --activationkey="My_Activation_Key" \ --skip-foreman
3.5.2.5. Changing the Method the Bootstrap Script Uses to Download the Consumer RPM
By default, the bootstrap script uses HTTP to download the consumer RPM from http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm. In some environments, you might want to allow HTTPS only between the host and Satellite. Use --download-method to change the download method from HTTP to HTTPS.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --download-method https
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --download-method https
3.5.2.6. Providing the host’s IP address to Satellite
On hosts with multiple interfaces or multiple IP addresses on one interface, you might need to override the auto-detection of the IP address and provide a specific IP address to Satellite. Use --ip.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --ip 192.x.x.x
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --ip 192.x.x.x
3.5.2.7. Enabling Remote Execution on the Host
Use --rex and --rex-user to enable remote execution and add the required SSH keys for the specified user.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --rex \ --rex-user root
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --rex \ --rex-user root
3.5.2.8. Creating a Domain for a Host During Registration
To create a host record, the DNS domain of a host needs to exist in Satellite prior to running the script. If the domain does not exist, add it using --add-domain.
Procedure
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --add-domain
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --add-domain
3.5.2.9. Providing an Alternative FQDN for the Host
If the host’s host name is not an FQDN, or is not RFC-compliant (containing a character such as an underscore), the script will fail at the host name validation stage. If you cannot update the host to use an FQDN that is accepted by Satellite, you can use the bootstrap script to specify an alternative FQDN.
Procedure
Set
create_new_host_when_facts_are_uploadedandcreate_new_host_when_report_is_uploadedto false using Hammer:# hammer settings set \ --name create_new_host_when_facts_are_uploaded \ --value false # hammer settings set \ --name create_new_host_when_report_is_uploaded \ --value false
Use
--fqdnto specify the FQDN that will be reported to Satellite:On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --fqdn node100.example.com
On Red Hat Enterprise Linux 6 or 7, enter the following command:
# bootstrap.py --login=admin \ --server satellite.example.com \ --location="My_Location" \ --organization="My_Organization" \ --hostgroup="My_Host_Group" \ --activationkey="My_Activation_Key" \ --fqdn node100.example.com
3.6. Installing the Katello Agent
You can install the Katello agent to remotely update Satellite clients.
The Katello agent is deprecated and will be removed in a future Satellite version. Migrate your processes to use the remote execution feature to update clients remotely. For more information, see Migrating from Katello Agent to Remote Execution in Managing Hosts.
The katello-agent package depends on the gofer package that provides the goferd service.
Prerequisites
- You have enabled the Satellite Client 6 repository on Satellite Server. For more information, see Enabling the Satellite Client 6 Repository in Installing Satellite Server in a Connected Network Environment.
- You have synchronized the Satellite Client 6 repository on Satellite Server. For more information, see Synchronizing the Satellite Client 6 Repository in Installing Satellite Server in a Connected Network Environment.
- You have enabled the Satellite Client 6 repository on the client.
Procedure
Install the
katello-agentpackage:# dnf install katello-agent
Start the
goferdservice:# systemctl start goferd
3.7. Installing Tracer
Use this procedure to install Tracer on Red Hat Satellite and access Traces. Tracer displays a list of services and applications that are outdated and need to be restarted. Traces is the output generated by Tracer in the Satellite web UI.
Prerequisites
- The host must be registered to Red Hat Satellite.
- The Red Hat Satellite Client 6 repository must be enabled and synchronized on Satellite Server, and enabled on the host.
Procedure
On the content host, install the
katello-host-tools-tracerRPM package:# yum install katello-host-tools-tracer
Enter the following command:
# katello-tracer-upload
- In the Satellite web UI, navigate to Hosts > All hosts, then click the required host name.
- Click the Traces tab to view Traces. If it is not installed, an Enable Traces button initiates a remote execution job that installs the package.
3.8. Installing and Configuring Puppet Agent Manually
You can install and configure the Puppet agent on a host manually. A configured Puppet agent is required on the host for Puppet integration with your Satellite. For more information about Puppet, see Managing Configurations Using Puppet Integration in Red Hat Satellite.
Prerequisites
- Puppet must be enabled in your Satellite. For more information, see Enabling Puppet Integration with Satellite in Managing Configurations Using Puppet Integration in Red Hat Satellite.
- The host must have a Puppet environment assigned to it.
- The Satellite Client 6 repository must be enabled and synchronized to Satellite Server, and enabled on the host. For more information, see Importing Content in Managing Content.
Procedure
-
Log in to the host as the
rootuser. Install the Puppet agent package.
On hosts running Red Hat Enterprise Linux 8 and above:
# dnf install puppet-agent
On hosts running Red Hat Enterprise Linux 7 and below:
# yum install puppet-agent
Add the Puppet agent to
PATHin your current shell using the following script:. /etc/profile.d/puppet-agent.sh
Configure the Puppet agent. Set the
environmentparameter to the name of the Puppet environment to which the host belongs:# puppet config set server satellite.example.com --section agent # puppet config set environment My_Puppet_Environment --section agent
Start the Puppet agent service:
# puppet resource service puppet ensure=running enable=true
Create a certificate for the host:
# puppet ssl bootstrap
- In the Satellite web UI, navigate to Infrastructure > Capsules.
- From the list in the Actions column for the required Capsule Server, select Certificates.
- Click Sign to the right of the required host to sign the SSL certificate for the Puppet agent.
On the host, run the Puppet agent again:
# puppet ssl bootstrap
3.9. Migrating From Katello Agent to Remote Execution
Remote Execution is the preferred way to manage package content on hosts. The Katello Agent is deprecated and will be removed in a future Satellite version. Follow these steps to switch to Remote Execution.
Prerequisites
- You have enabled the Satellite Client 6 repository on Satellite Server. For more information, see Enabling the Satellite Client 6 Repository in Installing Satellite Server in a Connected Network Environment.
- You have synchronized the Satellite Client 6 repository on Satellite Server. For more information, see Synchronizing the Satellite Client 6 Repository in Installing Satellite Server in a Connected Network Environment.
-
You have previously installed the
katello-agentpackage on content hosts.
Procedure
-
If you have Remote Execution configured to use
sshmode, distribute the remote execution SSH keys to the hosts. For more information, see Section 11.12, “Distributing SSH Keys for Remote Execution”. -
If you have Remote Execution configured to use
pull-mqttmode, deploy the remote execution pull client to the hosts. For more information, see Section 11.5, “Configuring a Host to Use the Pull Client”. Stop the goferd service on content hosts:
# systemctl stop goferd
Disable the goferd service on content hosts:
# systemctl disable goferd
Remove the Katello agent on content hosts:
WarningIf your host is installed on Red Hat Virtualization version 4.4 or lower, do not remove the
katello-agentpackage because the removed dependencies corrupt the host.# dnf remove katello-agent
- In the Satellite web UI, navigate to Administer > Settings.
- Select the Content tab.
- Set the Use remote execution by default parameter to Yes.
The Satellite server now uses host management by remote execution instead of Katello Agent.
The following table shows the remote execution equivalent commands to perform specific package actions. See hammer job-invocation create --help to learn how to specify search queries to determine the target hosts or host collections.
Table 3.2. Hammer Commands
| Action | Katello Agent | Remote Execution |
|---|---|---|
| Install a package |
|
|
| Install a package (host collection) |
|
|
| Remove a package |
|
|
| Remove a package (host collection) |
|
|
| Update a package |
|
|
| Update a package (host collection) |
|
|
| Update all packages |
|
|
| Install errata |
|
|
| Install errata (host collection) |
|
|
| Install a package group |
|
|
| Install a package group (host collection) |
|
|
| Remove a package group |
|
|
| Remove a package group (host collection) |
|
|
| Update a package group |
|
|
| Update a package group (host collection) |
|
|