3.7.8. Transitioning Configuration Channels to Puppet Modules

Red Hat Satellite 5 uses configuration channels to support configuration file management. Configuration channels are collections of configuration entries, which in turn specify files and values that Satellite 5 applies to systems that are registered to it. Configuration channels support the upload of flat files for delivery to associated systems.
Satellite 6 uses Puppet to provide improved configuration management; consequently, part of the transition process requires that configuration channels be converted into a single Puppet module.
The export process on Satellite 5 includes the latest revision of all configuration files. The import process uses this information to perform the following tasks:
  • Generate Puppet modules for each Satellite 5 configuration channel.
  • Map any Satellite 5 macros in the configuration files to whatever Puppet facts are found.
  • Build the modules.
  • Create a Satellite 6 repository for each configuration channel, and a product to hold those repositories.
  • Upload the built Puppet modules into Satellite 6.
The following table describes the current mapping between Satellite 5 substitution macros and Puppet facts.

Table 3.1. Mapping of Satellite 5 Macros to Satellite 6 (Puppet) Facts

Satellite 5 Macro
Puppet Fact
rhn.system.sid
None
rhn.system.profile_name None
rhn.system.description None
rhn.system.hostname FQDN or host name
rhn.system.ip_address ipaddress
rhn.system.custom_info(key_name) None
rhn.system.net_interface.ip_address(eth_device) ipaddress_{NETWORK INTERFACE}
rhn.system.net_interface.netmask(eth_device) netmask_{NETWORK INTERFACE}
rhn.system.net_interface.broadcast(eth_device) None
rhn.system.net_interface.hardware_address(eth_device) macaddress_{NETWORK INTERFACE}
rhn.system.net_interface.driver_module(eth_device) None
Transitioning Configuration Channels to Puppet Modules

The following example illustrates a simple use case for transitioning configuration channels to Puppet modules.

Example 3.13. Transitioning Configuration Channels and Files to Puppet Modules

# hammer import config-file --csv-file /tmp/exports/config-files-latest.csv
Writing converted files
Building and uploading puppet modules
Summary
  Created 1 puppet file.
  Created 1 puppet module.