Bug 239594
| Summary: | Restart only the failed resource and its dependencies instead of the whole service. | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 5 | Reporter: | Lon Hohberger <lhh> |
| Component: | system-config-cluster | Assignee: | Jim Parsons <jparsons> |
| Status: | CLOSED ERRATA | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 5.0 | CC: | cluster-maint, ddomingo, rlerch |
| Target Milestone: | --- | Keywords: | FutureFeature |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | RHBA-2007-0639 | Doc Type: | Enhancement |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2007-11-07 16:44:58 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 229650 | ||
| Bug Blocks: | 222082 | ||
|
Description
Lon Hohberger
2007-05-09 19:02:05 UTC
New attribute __independent_subtree which is attached to resources in the *tree* structure - but not in the <resources> section - is now present. making this bug block RHEL5.1 release notes (requires_release_notes was set) please post the necessary release note content in this bug. if no release note is required for this bug, please clear the requires_release_notes flag and remove BZ#222082 from "Bug 239594 blocks". thanks! this attribute has been added to the schema. There is no UI checkbox for this attribute, as this is an advanced option and not a typically used parameter for the large majority of users. Lon: I think you would be a better candidate to write the release note blurb than myself. Marking as NEEDINFO as a signal to you, Lon. Please mark MODIFIED after adding release note comment. This is feature has very limited use cases, but in reality, the original comment
hits it on the head except for the example:
Normally, the entire service is restarted if any of its child resources fail.
For most users, this is the correct behavior. Some, however would prefer that
only a specific set of otherwise independent resources are restarted in the case
of a failure.
If you place __independent_subtree="1" somewhere in the resource tree, only that
resource and its children will be restarted in the case of a failure of that
resource (or one of its children). If the independent subtree fails to restart,
then the entire service is restarted.
Example:
<service name="example">
<fs name="One" __independent_subtree="1" ...>
<nfsexport ...>
<nfsclient .../>
</nfsexport>
</fs>
<fs name="Two" ...>
<nfsexport ...>
<nfsclient .../>
</nfsexport>
<script name="Database" .../>
</fs>
<ip/>
</service>
In this example, we have two file system resources, named One and Two. If One
fails, it is restarted. If Two fails, all components of the service are
restarted. The important thing here is neither Two nor any of its children
(including Database) may depend on any resource provided by One or its children.
In effect, this allows you to split a single, large service into smaller bits
and pieces which are independent.
NOTES:
* Some resources can not be used in a service with independent subtrees (Samba
resources, for example, since they require a specific service structure...)
* Restarting a portion of a service is not considered a service restart.
Repeated subtree restarts (due to repeated failures) are not acted upon or
reported (aside from in system logs), so use this option with care.
* If you are unsure about whether this is a safe option for you to use, do not
use it. ;)
Added devel and qa acks to get the errata filed. This is an attribute within the cluster.conf file, found in /etc/cluster on a
running node. The attribute can be added to any resource. Example from above...
To use it, you must add the attr to the conf file on one of the nodes, then
propagate the conf file to the cluster - this is a documented procedure. I would
imagine that rgmanager would need to be restarted - but lon can comment on that
if he sees this. Anyway, this should be enough for a release note. Hope this
helped...
<service name="example">
<fs name="One" __independent_subtree="1" ...>
<nfsexport ...>
<nfsclient .../>
</nfsexport>
</fs>
<fs name="Two" ...>
<nfsexport ...>
<nfsclient .../>
</nfsexport>
<script name="Database" .../>
</fs>
<ip/>
</service>
further edit: <snip> Here, two file system resources are used: One and Two. If One fails, it is restarted without interrupting Two. If Two fails, all components (One, children of One and children of Two) are restarted. At no given time are Two and its children dependent on any resource provided by One. </snip> Right, this has a bug in it: it's treating non __independent_subtree bits as independent sometimes. I am testing a patch. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0639.html |