C.3. 411 Groups

Beginning in Rocks 3.3.0, 411 has the ability to send messages to subsets of the cluster. This facility, called 411 groups, allows us to distribute different files to nodes depending on their type. The group mechanism depends on the client nodes specifying group names in their local 411 configuration file; these are called the client's "registered" groups.

Warning

There is no per-group key in 411. The groups mechanism is only a convenience feature, without strong security to enforce it. Specifically, a node can eavesdrop on messages for a foreign group that it is not a member of.

Group names are multi-level, and resemble file paths. By default, every node is a member of the '/' group (corresponding to the traditional top-level 411 group), and the '/Membership' group, where membership is the node membership in the frontend database with the spaces replaced by underscores, so compute nodes are part of "Compute" and NAS Appliance are part of the "NAS_Appliance" group (this is due to a limitation of makefile in handling spaces).

Tip

A special Makefile called /var/411/Group.mk is available to help you setup and maintain 411 groups. After editing this file to specify which files go to which group, run

# make -C /var/411 groups
# make -C /var/411

To activate the 411 group makefile actions.

By default, nodes are members of a group with the same name as their Membership. For example compute nodes are automatically a member of the group "Compute". A sample 411.conf file with several groups looks like:

<!-\- Configuration file for the 411 Information Service -\->
<config>
<master url="http://10.1.1.1:372/411.d/" score="0"/>
<group>/light/blue</group>
<group>Compute</group>
</config>

Multi-element group names have a simple inheritance model: specific groups imply more general ones. For example, if you are a member of the group /compute/light, you will automatically be interested in messages in group "/compute/light" and "/compute". You will not be interested in messages from group "/compute/heavy". In this case "/compute/light" is the specific group, and "/compute" is the more general one.