REGISTERING HOST TO RED HAT SATELLITE


1.    REGISTERING A HOST TO RED HAT SATELLITE

Use the following procedure to register a host to Red Hat Satellite 6.

Prerequisites
1.      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.

2.    The daemon rhsmcertd must be running on the hosts.

3.      An activation key must be available for the host. 

4.      Subscription Manager must be version 1.10 or later. The package is available in the standard
Red Hat Enterprise Linux repository.

Procedure
1.      Red Hat Enterprise Linux hosts register to the Content Delivery Network by default. Update each host configuration so that they receive updates from the correct Satellite Server or Capsule Server:
a. Take note of the fully qualified domain name (FQDN) of the Satellite Server or Capsule
    Server, for example server.example.com.
b. Log in to the host as the root user and install the consumer RPM from the Satellite Server
    or Capsule Server to which the host is to be registered. The consumer RPM updates the
    content source location of the host and allows the host to download content from the
    content source specified in Red Hat Satellite.
# rpm -Uvh http://server.example.com/pub/katello-ca-consumer-latest.noarch.rpm
    IMPORTANT
     Any running Docker Daemons are restarted.
NOTE
The RPM package is not signed. If required, you can add the --nosignature
option to install the package. The katello-ca-consumer-hostname-1.0-
1.noarch.rpm package is an additional katello-ca-consumer RPM that
contains the server’s host name. The katello-ca-consumerlatest.
noarch.rpm package always reflects the most recent version. Both
serve the same purpose.
2.      Clear any old host data related to Red Hat Subscription Manager (RHSM):
# subscription-manager clean
3.      Register the host using RHSM:
# subscription-manager register --org=your_org_name \
--activationkey=your_activation_key
Example 3.1. Command Output after Registration:
# subscription-manager register --org=MyOrg --activationkey=TestKey-1
The system has been registered with id: 62edc0f8-855b-4184-b1b8-72a9dc793b96
NOTE
You can use the --environment option to override the Content View and life cycle
environment defined by the activation key. For example, to register a host to the Content
View "MyView" in a "Development" life cycle environment:
# subscription-manager register --org=your_org_name \
--environment=Development/MyView \
--activationkey=your_activation_key
NOTE
For Red Hat Enterprise Linux 6.3 hosts, the release version defaults to Red Hat
Enterprise Linux 6 Server and needs to be pointed to the 6.3 repository:
1. In the Satellite web UI, navigate to Hosts > Content Hosts.
2. Select the check box next to the host that needs to be changed.
3. From the Select Action list, select Set Release Version
4. From the Release Version list, select 6.3.
5. Click Done.


2.  REGISTERING AN ATOMIC HOST TO RED HAT SATELLITE
Use the following procedure to register an Atomic Host to Red Hat Satellite 6.

Procedure
1. Log in to the Atomic Host as the root user.
2. Retrieve katello-rhsm-consumer from Satellite Server:
# wget http://satellite.example.com/pub/katello-rhsm-consumer
3. Change the mode of katello-rhsm-consumer to make it executable:
# chmod +x katello-rhsm-consumer
4. Run katello-rhsm-consumer:
# ./katello-rhsm-consumer
Register with Red Hat Subscription Manager:
# subscription-manager register
NOTE
The Katello agent is not supported on Atomic Hosts.


3.REGISTERING A HOST TO RED HAT SATELLITE USING THE
BOOTSTRAP SCRIPT
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 to Red Hat Satellite 6 from Satellite
5, RHN, SAM, or RHSM.

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
satellite6.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 admin user. 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.
·        You have an activation key for your hosts.
·        You have created 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:
1. Manually create a directory and change the owner:
    # mkdir /etc/puppetlabs/code/environments/example_environment
    # chown apache /etc/puppetlabs/code/environments/example_environment
2. Navigate to Configure > Environments and click Import environment from. The button name
    includes the FQDN of the internal or external Capsule.
3. Choose the created directory and click Update.

Procedure
1. Log in to the host as the root user.
2. Download the script:
# curl -O http://satellite6.example.com/pub/bootstrap.py
3. Make the script executable:
# chmod +x bootstrap.py
4. 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
5. Enter the bootstrap command with values suitable for your environment.
For the --server option, specify the FQDN of Satellite Server or a Capsule Server. For the --
location, --organization, and --hostgroup options, use quoted //names, not labels, as arguments
to the options. See Section 3.3.2, “Advanced Bootstrap Script Configuration” for advanced use
cases.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# ./bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key
6. Enter the password of the Satellite user you specified with the --login option.
The script sends notices of progress to stdout.
7. 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 --server option.
8. From the list in the Actions column, select Certificates.
9. In the Actions column, click Sign to approve the host’s Puppet certificate.
10. Return to the host to see the remainder of the bootstrap process completing.
11. In the Satellite web UI, navigate to Hosts > All hosts and ensure that the host is connected to
the correct host group.
12. Optional: After the host registration is complete, remove the script:
# rm bootstrap.py

3.1. Setting Permissions for the Bootstrap Script
Use this procedure to configure a Satellite user with the permissions required to run the bootstrap
script.

Procedure
1. In the Satellite web UI, navigate to Administer > Users.
2. 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.
3. Click the Roles tab.
4. Select Edit hosts and Viewer from the Roles list.
IMPORTANT
The 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
5. Click Submit.
For CLI Users
1. 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
2. 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.

3.2. Advanced Bootstrap Script Configuration
This section has more examples for using the bootstrap script to register or migrate a host.
WARNING
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. .
Migrating a host from one Satellite 6 to another Satellite 6
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.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--force
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--force
Migrating a host from Red Hat Network (RHN) or Satellite 5 to Satellite 6
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-classicmigrate-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.

On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--legacy-purge \
--legacy-login rhn-user
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--legacy-purge \
--legacy-login rhn-user
Registering a host to Satellite 6, omitting Puppet setup
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.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--skip-puppet
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--skip-puppet
Registering a host to Satellite 6 for content management only
To register a system as a content host, and omit the provisioning and configuration management
functions, use --skip-foreman.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--server satellite6.example.com \
--organization="Example Organization" \
--activationkey=activation_key \
--skip-foreman
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --server satellite6.example.com \
--organization="Example Organization" \
--activationkey=activation_key \
--skip-foreman
Changing the method the bootstrap script uses to download the consumer RPM
By default, the bootstrap script uses HTTP to download the consumer RPM
(server.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.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--download-method https
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--download-method https
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.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--ip 192.x.x.x
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--ip 192.x.x.x
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.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--rex \
--rex-user root
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--rex \
--rex-user root
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.
On Red Hat Enterprise Linux 8, enter the following command:
# /usr/libexec/platform-python bootstrap.py \
--login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--add-domain
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--add-domain
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.
1. Set create_new_host_when_facts_are_uploaded and
create_new_host_when_report_is_uploaded to 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
2. Use --fqdn to 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 satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--fqdn node100.example.com
On Red Hat Enterprise Linux 5, 6, or 7, enter the following command:
# bootstrap.py --login=admin \
--server satellite6.example.com \
--location="Example Location" \
--organization="Example Organization" \
--hostgroup="Example Host Group" \
--activationkey=activation_key \
--fqdn node100.example.com


4. INSTALLING THE KATELLO AGENT
Installing the Katello agent is recommended to allow remote updates of clients. The base system of a
Capsule Server is a client of Satellite Server and therefore must also have the Katello agent installed.
The katello-agent package depends on the gofer package that provides the 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
Before installing the Katello agent, ensure the following conditions are met:
You have enabled the Satellite Tools repositories in Satellite Server.
You have synchronized the Satellite Tools repositories in Satellite Server.

Procedure
To install the Katello agent, complete the following steps:
1. Install the katello-agent package:
# yum install katello-agent
2. Start the goferd service :
# systemctl start goferd


5. INSTALLING TRACER
Use this procedure to install Tracer on Red Hat Satellite 6.5, 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.
IMPORTANT
The integration of Tracer with Satellite Server is a Technology Preview feature.
Technology Preview features are not fully supported under Red Hat Subscription Service
Level Agreements (SLAs), may not be functionally complete, and are not intended for
production use. These features provide early access to upcoming product innovations,
enabling customers to test functionality and provide feedback during the development
process.

Prerequisites
The host must be registered to Red Hat Satellite.
The Red Hat Satellite Tools 6.5 repository must be enabled and synchronized on Satellite
Server, and enabled on the host.

Procedure
1. On the content host, install the katello-host-tools-tracer RPM package:
     # yum install katello-host-tools-tracer
2. Enter the following command:
     # katello-tracer-upload
3. In the Satellite web UI, navigate to Hosts > All hosts, then click the required host name.
4. In the Properties tab, examine the Properties table and find the Traces item. If you cannot find
     a Traces item in the Properties table, then Tracer is not installed.
5. Navigate to Hosts > Content Hosts, then click the required host name.
6. Click the Traces tab to view Traces.


6. INSTALLING AND CONFIGURING THE PUPPET AGENT
Use this procedure to install and configure the Puppet agent on a host.

Prerequisites
The host must be registered to Red Hat Satellite.
The host must have a Puppet environment assigned to it.
The Red Hat Satellite Tools 6.5 repository must be enabled and synchronized on Satellite
Server, and enabled on the host.

Procedure
1. Log in to the host as the root user.
2. Install the Puppet agent package:
# yum install puppet-agent
3. Configure the Puppet agent to start on boot:
On Red Hat Enterprise Linux 6:
# chkconfig puppet on
On Red Hat Enterprise Linux 7:
# systemctl enable puppet
4. Append the following server and environment settings to the
/etc/puppetlabs/puppet/puppet.conf file. Set the environment parameter to the name of the
Puppet environment to which the host belongs:
environment = My_Example_Org_Library
server = satellite.example.com
ca_server = satellite.example.com
5. Run the Puppet agent on the host:
# puppet agent -t
6. In the Satellite web UI, navigate to Infrastructure > Capsules.
7. From the list in the Actions column for the required Capsule Server, select Certificates.
8. Click Sign to the right of the required host to sign the SSL certificate for the Puppet client.
9. Enter the puppet agent command again:
# puppet agent -t


REGISTERING HOST TO RED HAT SATELLITE

1.     REGISTERING A HOST TO RED HAT SATELLITE Use the following procedure to register a host to Red Hat Satellite 6. Prerequis...