11.2. Parameters
Red Hat Satellite parameters define key-value pairs to use when provisioning hosts. These are similar to Puppet's concept of a default scope parameter. You can define parameters when setting up a host with Puppet and also define a hierarchy of parameter inheritance.
The following parameter hierarchy applies:
- Global Parameters
- The default parameter that applies to every host in Satellite. Configured in
. - Domain Parameters
- Parameters that affect all hosts in a given domain. Domain parameters override Global parameters. Configured in
. - Host Group Parameters
- Parameters that affect all hosts in the Host Group. Host Group parameters override both Global and Domain parameters. Configured in
. - Host Parameters
- Parameters that affect a specific host. All previous inherited parameters are visible on the Parameters subtab and can be overridden. Configured in
or .
Different types of parameters also exist:
- Simple Parameters
- A basic parameter that defines a relationship between a key and value pair.
- Smart Parameters
- A complex parameter that defines a value for a key but allows conditional arguments, validation, and overrides for specific object types.
- Parameterized Classes
- Parameters for classes imported from a Puppet Master.
Important
Ensure you enable parameterized class support. Navigate to , select the Puppet tab, and ensure the
Parametrized_Classes_in_ENC
is set to True
.
11.2.1. Creating a Global Simple Parameter
This procedure shows how to add a new global parameter to Satellite.
- Click
. - Click the New Parameter button.
- Type a Name for the parameter's key.
- Type a Value for the parameter.
- Click the Submit button.
11.2.2. Creating a Puppet Class
This procedure shows how to add a new Puppet Class to Satellite.
- Click
. - Click the New Puppet class button.
- Type a Name for the Puppet Class.
- Type a Puppet Environments for the Puppet Class.
- Select one or more Host groups that own the Puppet Class.
- Click Submit.
11.2.3. Configuring Smart Parameters
The following procedure configures smart parameters in a Puppet class.
Procedure 11.2. To configure smart parameters
- Click
. - Select a class from the list.
- Click the Smart Variables tab. This displays a new screen. The left section contains a list of possible parameters the class supports. The right section contains the configuration options for the parameter selected. Click the Add Variable to add a new parameter. Otherwise, select a parameter from the left-hand list.
- Type a name for the Parameter field.
- Edit the Description text box to add any plain text notes.
- Select the Parameter type of data to pass. This is most commonly a string, but other data types are supported.
- Type a Default Value for the parameter.
- Use the Optional Input Validator section to restrict the allowed values for the parameter. Choose a Validator type (either a list of comma separated values or a regular expression, regexp) and input the allows values or regular expression code in the Validator rule field.
- The Override Value For Specific Hosts section at the bottom of the page provides options for overriding values based upon conditional arguments known as Matchers. Define the Order that the host values resolve, then click Add Matcher-Value to add your conditional argument.For example, if desired value of the parameter is
test
for any host with a fully qualified domain name ofwww.example.com
, then specify the Match asfqdn=www.example.com
and the Value astest
. - Click Submit to save your changes.
Result:
Satellite configures the smart parameter.
11.2.4. Importing Parameterized Classes from a Puppet Master
The following procedure imports parameterized classes from your Puppet Master.
Procedure 11.3. To import parameterized classes
Note
The import of parameterized classes happens automatically if your puppet modules are managed via a Product and a Content View.
- Click
. - Click Import from Host Name to import parameterized classes from your Puppet Master.
- The Puppet Classes page displays with the new classes listed.
Result:
Satellite imports the Puppet Master's parameterized classes.
11.2.5. Configuring Parameterized Classes
The following procedure configures parameterized classes.
Procedure 11.4. To configure parameterized classes
- Click
. - Select a class from the list.
- Click the Smart Class Parameter tab. This displays a new screen. The left section contains a list of possible parameters the class supports. The right section contains the configuration options for the parameter selected.
- Select the a parameter from the left-hand list.
- Edit the Description text box to add any plain text notes.
- Click the Override checkbox to allow Satellite control over this variable. If the checkbox is not selected, Satellite does not pass this variable to Puppet.
- Select the Parameter type of data to pass. This is most commonly a string, but other data types are supported.
- Type a Default Value for the parameter.
- The Override Value For Specific Hosts section at the bottom of the page provides options for overriding values based upon conditional arguments known as Matchers. Define the Order that the host values resolve, then click Add Matcher-Value to add your conditional argument.For example, if desired value of the parameter is
test
for any host with a fully qualified domain name ofwww.example.com
, then specify the Match asfqdn=www.example.com
and the Value astest
. - Click Submit to save your changes.
Result:
Satellite configures the parameters for the class.