10.5. Registration
- Download and install the consumer RPM (server.example.com/pub/katello-ca-consumer-latest.noarch.rpm) and then run subscription manager. This method is suited for freshly installed hosts. See Section 10.5.1, “Configuring a Host for Registration” and Section 10.5.2, “Registering a Host” for more information.
- Download and run the bootstrap script (server.example.com/pub/bootstrap.py). This method is suited for both freshly installed hosts and hosts that have been previously registered, for example, to Satellite 5 or another Satellite 6. See Section 10.5.5, “Registering Hosts to Satellite 6 Using The Bootstrap Script” for more information.
10.5.1. Configuring a Host for Registration
Prerequisites
- Hosts must be using the following Red Hat Enterprise Linux version:
- 5.7 or later
- 6.4 or later
- 7.0 or later
- All architectures of Red Hat Enterprise Linux are supported (i386, x86_64, s390x, ppc_64).
- Ensure that the Satellite Servers, any Capsule Servers, and all hosts are synchronized with the same NTP server.
- Ensure that a time synchronization tool is up and running on the Satellite Servers, any Capsule Servers, and the hosts.
- For Red Hat Enterprise Linux 6:
# chkconfig ntpd on; service ntpd start
- For Red Hat Enterprise Linux 7:
# systemctl start chronyd; systemctl enable chronyd
- Ensure that the daemon
rhsmcertd
is running on the hosts.- For Red Hat Enterprise Linux 6:
# service rhsmcertd start
- For Red Hat Enterprise Linux 7:
# systemctl start rhsmcertd
Procedure 10.2. To Configure a Host for Registration:
- Take note of the fully qualified domain name (FQDN) of the Satellite Server or Capsule Server, for example server.example.com.
- On the host, open a terminal and log in as root.
- 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 will be restarted.Note
katello-ca-consumer-hostname-1.0-1.noarch.rpm is an additional katello-ca-consumer RPM available that contains the server's host name. The katello-ca-consumer-latest.noarch.rpm rpm will always reflect the most updated version. Both serve the same purpose.
10.5.2. Registering a Host
Prerequisites
- Complete all steps in Section 10.5.1, “Configuring a Host for Registration”.
- Ensure that an activation key associated with the appropriate content view and environment exists for the host. If not, see Chapter 7, Configuring Activation Keys for more information. By default, an activation key has the auto-attach function enabled. The feature is commonly used with hosts used as hypervisors.
- Ensure that the version of the
subscription-manager
utility installed is 1.10 or higher. The package is available in the standard Red Hat Enterprise Linux repository.
Procedure 10.3. To Register Hosts:
- On the host, open a terminal and log in as root.
- Clear any old host data related to Red Hat Subscription Manager (RHSM):
# subscription-manager clean
- Register the host using RHSM:
# subscription-manager register --org your_org_name --activationkey your_activation_key
Example 10.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
--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
Procedure 10.4. To Point Red Hat Enterprise Linux 6.3 to the Repository:
- On Red Hat Satellite, select
. - 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 thedrop-down menu.
- Click.
10.5.3. 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.
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.
Procedure 10.5. To Verify the Satellite Tools Repository is Enabled:
- 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.2 (for RHEL VERSION Server) (RPMs) item.If the Red Hat Satellite Tools 6.2 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 10.6. To Install Katello Agent:
- On the host, verify that the
satellite-tools
repository is enabled. If you registered the host using an activation key with auto-attache enabled, the repository is enabled automatically already.# yum repolist enabled | grep -i satellite-tools
If thesatellite-tools
is not enabled, enable it using the following command:# subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms
- Install the
katello-agent
RPM package using the following command:# yum install katello-agent
- Ensure the
goferd
service is running.- On Red Hat Enterprise Linux 6, enter the following command:
# service goferd start
- On Red Hat Enterprise Linux 7, enter the following command:
# systemctl start goferd
10.5.4. Installing and Configuring the Puppet Agent
Prerequisites
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.
Procedure 10.7. To Verify the Satellite Tools Repository is Enabled:
- 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.2 (for RHEL VERSION Server) (RPMs) item.If the Red Hat Satellite Tools 6.2 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 10.8. To Install and Enable the Puppet Agent:
- On the host, open a terminal console and log in as the
root
user. - Verify that the
satellite-tools
repository is enabled, using the following command:# yum repolist enabled | grep -i satellite-tools
If thesatellite-tools
is not enabled, enable it using the following command:# subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms
- 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
The following conditions must be met before configuring the Puppet Agent:
- 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.
Procedure 10.9. To Configure the Puppet Agent:
- Configure the Puppet agent by specifying the server and environment settings in the
/etc/puppet/puppet.conf
file:# 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 = /var/lib/puppet/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/localconfig ...
Important
Set theenvironment
parameter to the name of the Puppet environment to which the host belongs. A Puppet environment is a collection of Puppet modules that can be associated with a host or a host group.- To find the host's Puppet environment, navigate to
and inspect the Environment column in the host table. - To assign a Puppet environment to a host, navigate to
and click next to the selected host. - To list Puppet environments enabled on the Satellite Server, navigate to
. You can also inspect the /etc/puppet/environments/
directory on the Satellite Server to find what Puppet modules and manifests are associated with Puppet environments.
For more information see the Red Hat Satellite Puppet Guide. - 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 UI:
- Log in to the Satellite Server through the web UI.
- Select
. - Selectfrom the drop-down menu to the right of the required Capsule.
- Clickto the right of the required host.
- Enter the
puppet agent
command again:# puppet agent -t --server satellite.example.com
Note
10.5.5. Registering Hosts to Satellite 6 Using The Bootstrap Script
/var/www/html/pub/
directory to make it available to hosts. It can be accessed using a URL in the following form: satellite6.example.com/pub/bootstrap.py
$ less /usr/share/doc/katello-client-bootstrap-version/README.md
Procedure 10.10. Installing the Bootstrap Script on the Host:
root
user, you can place it in /root
and remove it after use, or place it in /usr/local/sbin
. This example will use /root
.
root
, install the bootstrap script on the host as follows:
- Ensure you are in the correct directory. For example, to change to
/root
:# cd
- Download the script:
# wget http://satellite6.example.com/pub/bootstrap.py
This will install the script to the current directory. - Make the script executable:
# chmod +x bootstrap.py
- To confirm that the script can now be run, view the usage statement as follows:
# ./bootstrap.py -h
- Optionally, when the transition process is complete, remove the script:
# cd # rm bootstrap.py
Procedure 10.11. Running the Bootstrap Script
Prerequisites
- The bootstrap script is installed as described previously.
- You have an activation key for your desired hosts. For configuring activation keys, see Chapter 7, Configuring Activation Keys.
- You have created a host group. For creating host groups, see Section 9.1, “Creating a Host Group”.
- Enter the bootstrap command as follows with values suitable for your environment.For the
--server
option, specify the FQDN name of Satellite Server or Capsule Server. For--location
,--organization
, and--hostgroup
options, use quoted names, not labels, as arguments to the options. See Section 10.5.6, “Advanced Bootstrap Script Configuration” for advanced use cases.# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key
The script will prompt you for the password corresponding to the Satellite user name you entered with the--login
option. - The script will run and send notices of progress to
stdout
. Watch for output prompting you to approve the certificate. For example:[NOTIFICATION], [2016-04-26 10:16:00], [Visit the UI and approve this certificate via Infrastructure->Capsules] [NOTIFICATION], [2016-04-26 10:16:00], [if auto-signing is disabled] [RUNNING], [2016-04-26 10:16:00], [/usr/bin/puppet agent --test --noop --tags no_such_tag --waitforcert 10]
The host will wait indefinitely until an administrator approves the Puppet certificate.- In the web UI, navigate to
. - Selectto the right of the name of the Capsule corresponding to the FQDN given with
--server
option. - In thecolumn select to approve the host's Puppet certificate.
- Return to the host to see the remainder of the bootstrap process completing.
- In the web UI, navigate to
and ensure that the host is connected to the correct host group.
10.5.6. Advanced Bootstrap Script Configuration
- Migrating a host from one Satellite 6 to another Satellite 6.
- Use the script with
--force
, and the script will remove the katello-ca-consumer-* packages from the old Satellite and install the katello-ca-consumer-* packages from the new Satellite. For example:# 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 callsrhn-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 an user account that has appropriate permissions to remove a profile. Enter the user account password when prompted. For example:# 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
. For example:# 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 leave out the provisioning and configuration management functions, use
--skip-foreman
. For example:# 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, it is desired to only allow HTTPS between the host and Satellite. Use
--download-method
to change the download method from HTTP to HTTPS. For example:# 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 may need to override the auto-detection of the IP address and provide a specific IP address to Satellite. Use
--ip
. For example:# 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. For example:# 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 at registration time.
- To create a host record, the DNS domain of a host needs to exist in Satellite prior to running script. If the domain does not exist, add it using
--add-domain
. For example:# 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 arbitrary Fully Qualified Domain Name (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. Use
--fqdn
to specify the FQDN that will be reported to Satellite. To do so, you will need to setcreate_new_host_when_facts_are_uploaded
andcreate_new_host_when_report_is_uploaded
to false usinghammer
. For example,# 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
# 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