Let a node manage Apache by applying a class
Classification is a way to configure nodes by
creating node groups, adding nodes to the groups, and adding classes
that specify what types of resources and code can be used by nodes
in the group. Allow your agent node to manage Apache by adding the
apache class to it.
These instructions assume you've installed PE, at least one *nix agent node, and the
Every module contains one or more classes -- a
named chunk of Puppet code. Classes are the primary means by which
Puppet Enterprise configures
puppetlabs-apache module you installed
in the last section contains a class called
apache. In this section, you apply the
apache class to your agent
Step 1: Create a node group
Node groups enable you to assign classes to more than one node at a time.
You could assign classes to individual nodes one at a time, but chances are, each of your classes needs to be applied to more than one node. By creating a node group, you can apply a class to many nodes at one time.
For this section, we will create the node group apache_example.
- In the console, click Classification, and click Add group.
Specify options for the new node group:
- Parent name : select All nodes
- Group name : Type apache_example
Environment: select production
Environment group: don't select this option
- Click Add.
Step 2: Add nodes to the node group
Add nodes to a node group to manage them more efficiently.
To add nodes to a node group, create rules that define which nodes to include in the group.
- Click the apache_example group you created on the Classification page.
- In the Rules tab, in the Certname area, in the Node name field, enter the name of your PE agent node.
- Click Pin node.
- Commit changes.
- Repeat these steps for any other nodes you want to add to the node group.
Step 3: Add the
apache class to the node group
After you create a node group, add classes to give the matching nodes purpose.
- Unless you have navigated elsewhere in the console, the apache_example node group is still displayed in the Classification page. On the Configuration tab, in the Class name field, begin typing apache, and select it from the autocomplete list.
Click Add class, and commit
apacheclass now appears in the list of classes for your agent. You can see this list by clicking Inventory and then clicking your node in the Inventory list. When the page opens with your node's details, click the Configuration tab.
Apply your changes. From the command line
on your agent, run
puppet agent -t.
To see your changes in action, navigate to
/var/www/html/, and create a file named
index.htmlwith the text editor of your choice and add some content (for example, "Hello, World!").
From the command line of your agent node,
puppet agent -t. This configures the node using the newly assigned class.
- Wait one or two minutes.
Open a browser and enter the IP address
for the agent node, adding port 80 on the end, as in
http://myagentnodeIP:80/. The contents of
Step 4: Edit class parameters in the console
You can use the console to modify the values of a class's parameters without editing the module code directly.
In the console, click Classification, and then find and select the
On the Configuration tab, find
apachein the list of classes.
From the Parameter name drop-down list, choose the parameter you want to edit.
For this example, select
docroot.Note: The grey text that appears as values for some parameters is the default value, which can be either a literal value or a Puppet variable. You can restore this value by selecting Discard changes after you have added the parameter.
In the Value field, enter
- Click Add parameter, and commit changes.
From the command line of your PE-managed node, run
puppet agent -t.
This triggers a Puppet run, and Puppet Enterprise creates the new configuration.
You have set the Apache web server's root directory to
/var/wwwinstead of its default
/var/www/html. If you refresh
http://myagentnodeIP:80/in your web browser, it shows the list of files in
/var/www. If you click
html, the browser again shows the contents of
You have learned how to create and classify node groups and edit class parameters while instructing Puppet Enterprise to manage the default Apache vhost on your agent node. Next, learn how to manage users with PE, and how to set permissions for each user or group of users.