 | Group configuration is only available in RHQ 1.2 and later. |
Starting in RHQ 1.2, Resource configurations can be viewed and edited (with revision history) across all members of a compatible group. This is a powerful and time-saving feature. For example, updating the "Max Connections" property for all "DefaultDS" datasources across a cluster of 10 JBossAS instances is as simple as just going to the Configure tab for the cluster group containing those datasources, entering the new value for the "Max Connections" property and clicking Save. Group configuration also provides a quick view of which properties have the same value across all group member Resources, and which do not - handy when trying to keep cluster configurations synchronized! Following are details on using the Configuration subsystem with compatible groups.
Loading a Group Configuration
To view or edit a compatible group Resource configuration, go to that group's Configure>Current tab. If the group does not have a Configure tab, then the group's Resource type, as defined by the corresponding plugin, does not support the Configuration facet. In order to view or edit the current configuration for a group, there are a few conditions that must be true so that the current group configuration can be reliably calculated from the group member configurations:
- All group member Resources must have an UP availability.
- There must be no configuration update requests in progress for the group or any of its member Resources.
- All current member configurations must be successfully retrieved from the corresponding Agents.
The Main Page
When you go to the Configure>Current tab for a compatible Group of Resources that support Configuration, the page will look very similar to the page you would see on the Configure>Current tab for an individual Resource. However, there are a few key differences:
- Each property will have a View/Edit Member Values icon (
) that is shown on the right side of the Value column. When clicked, a modal window will appear and show the respective values for that property across all members in the group. If you're in edit mode, you will be able to change one or more of the values, close the modal, and save those changes across the group.
- For properties whose values are homogeneous (the same) across all members of the group, an HTML input control will be displayed in the 'Value' column, and populated with that homogeneous value. To update the value across all group members, simply change the value of this input (you will need to have previously clicked the EDIT button at the top of the page to enter edit mode). For example:

In this case, the value of the "Driver Class" property is "org.hsqldb.jdbcDriver" across all members of the group. To change the value across all members of the group, just change the value of the input. To set values on individual members that differ from each other, you must click the
icon. If the property is an optional one, you can toggle the Unset checkbox and it will either set or unset that property across all members of the group.
- For properties whose values are heterogeneous across members of the group, an input control will not be displayed; instead, the text "Member Values Differ" will be displayed in red italics. For example:

In this case, the value of the "Max Pool Size" property is not the same across members of the group. To view or edit the individual member values, you must click the
icon.
The Member Values Modal Window
As described above, the member values modal window is displayed for a property when the View/Edit Member Values icon (
) within that property's Value column is clicked. Here is what the member values modal window would look like for the "Max Pool Size" property from a group of Datasources with two members:

Notice how the main page is grayed out behind the modal window. In order to access the main page again, the modal window must first be closed by clicking either the OK or the CANCEL button.
Parts of the Modal Window
Property Name and Description

At the top of the modal window, the property's name and description are displayed.
Set/Unset-All Controls

Below the property name and description are controls that can be used to set all member properties to the same value or to unset them all; to use them, either enter a value or check the Unset checkbox, then click the APPLY button. You will notice the inputs and/or unset checkboxes for all of the member properties get updated in the table below.
Member Property Values

Below that is a table containing the inputs (and unset checkboxes, if the property is defined as optional) for viewing or editing the value of each member property. Note, the Member column displays the Resource hierarchy of each member (e.g. MAINFRAME > JBossAS 4.0.5.GA_CP09 default (127.0.0.5:1099) > DefaultDS Datasource) to help you uniquely identify the member.
OK/CANCEL Buttons

The OK and CANCEL buttons are located at both the very top and very bottom of the modal window. Once you are done viewing or editing the member property values, click the OK button, or, if you decide to discard any changes you've made to the member property values, click the CANCEL button. If you clicked OK, once the modal window closes, you will notice any changes you made to the property are now reflected on the aggregate view of that property on the main page.
Saving a Group Configuration
Once you are done editing a group configuration, click the SAVE button, located at both the very top or very bottom of the main Edit page, to save the configuration. This will initiate a group configuration update request in the background and will automatically redirect you to the group's Configure>History tab where you can monitor the progress of the update request. The History page will look something like this:

The page lists all configuration update requests that have been executed at some point on this group. the first row in the table is the most recent request, i.e. the one you just initiated. The status of that request should be "In Progress". Refresh the page periodically to see the current status of the request; it will eventually change to either "Success" or "Failure" depending on whether the request succeeded or failed. A successful request is defined as one in which all member Resource configurations were applied successfully to the underlying managed Resources.
Viewing Details of Configuration Update Requests
To view the configuration that was submitted as part of a group update request, click the "View Group Update" link in the Action column of the row corresponding to that group update request. The configuration will be displayed below the update requests table, for example:

To view the member Resource update requests which are children of a group update request, click the "View Member Updates" link in the Action column of the row corresponding to that group update request. The member update requests will be displayed in a table below the group update requests table, for example:

To view the configuration that was submitted to an underlying managed Resource as part of a member update request, click the date link under that member update request's "Date Created" column.
Deleting Group Configuration Update Requests
To delete a group configuration update request, simply check the checkbox in the corresponding row and then click the DELETE SELECTED button in the footer of the table. Note, this will not delete the member Resource update requests which were children of the group update request. In order to delete those, you must go to the Configure>History tab for the corresponding Resources.
Notes
The group configuration GUI currently does not support displaying "list-of-map" properties. Therefore, in order to view or edit such properties in group member Resources, the Configure>Current tabs for those Resources must be used. When a list property is encountered while rendering a group configuration, an informational message is displayed in place of the property's value, e.g.:

Some examples of list-of-map properties are the "AppenderList" property from "java.util.logging" Resources' configurations or the "environmentVariables" property from "Environment Setup Script" Resources' configurations.