Bug 333191 - Feature Request: add service restart option.
Feature Request: add service restart option.
Status: CLOSED CURRENTRELEASE
Product: Red Hat Cluster Suite
Classification: Red Hat
Component: rgmanager (Show other bugs)
4
All Linux
low Severity low
: ---
: ---
Assigned To: Lon Hohberger
Cluster QE
: Documentation
Depends On:
Blocks: 182423
  Show dependency treegraph
 
Reported: 2007-10-15 17:49 EDT by Anthony Green
Modified: 2009-04-16 16:35 EDT (History)
2 users (show)

See Also:
Fixed In Version: RHCS 4.6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-11-14 14:16:37 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Anthony Green 2007-10-15 17:49:41 EDT
Description of problem:
We'd like to make a feature request for a "restart" option in cluster suite for
script resources. The way it is now Cluster Suite can issue “Start”, “Stop” and
“Status” options to scripts but no “Restart”.
Cluster suite treats restarts as “Stop” and then “Start”.  


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
Comment 2 Lon Hohberger 2007-10-16 15:48:05 EDT
There are a couple of things which may exist now which could implement the
desired feature:

(1) __independent_subtree tag on nodes in a service tree:

  <script name="my_script" file="/usr/share/do-this" __independent_subtree="1"/>

https://bugzilla.redhat.com/show_bug.cgi?id=239594

This allows rgmanager to recover parts of a service without affecting others. 
If the script or any of its children fail, the service is restarted from the
closest parent which has __independent_subtree specified.  Note that if a parent
fails, its children are *always* restarted in typical order.

Examples:

  <script name="1" __independent_subtree="1"/>
  <script name="2" __independent_subtree="1">
    <script name="2.1" __independent_subtree="1"/>
    <script name="2.2" __independent_subtree="0">
      <script name="2.2.1" __independent_subtree="0"/>
    </script>
  </script>
  <script name="3" __independent_subtree="0">
    <script name="3.1" __independent_subtree="1"/>
    <script name="3.2" __independent_subtree="0">
      <script name="3.2.1" __independent_subtree="0"/>
    </script>
  </script>  

On a failure of...       ... these are stop/started
  1                      1
  2                      2, 2.1, 2.2, 2.2.1
  2.1                    2.1
  2.2                    2.1, 2.2, 2.2.1
  2.2.1                  2.1, 2.2, 2.2.1
  3                      (*WHOLE SERVICE*)
  3.1                    3.1
  3.2                    (*WHOLE SERVICE*)
  3.2.1                  (*WHOLE SERVICE*)


(2) Adding a special "recover" action as a child of the script, for example:

  <script name="my_script" file="/usr/share/do-this">
    <action name="recover"/>
  </script>

Ordinarily, the <script> agent does not provide the "recover" option; only
stop/start semantics.  Adding it in cluster.conf will cause the script agent to
receive the "recover" argument after a status check failure.  In our example, it
would be the same as doing:

   /usr/share/do-this recover

This differs from __independent_subtree in that if a "recover" action is called,
child resources are not affected.
Comment 3 Lon Hohberger 2007-10-25 15:16:39 EDT
The Oracle 10g failover agent here:

http://people.redhat.com/lhh/oracle-rhcs4-notes-0.5/oracle-notes.html

... uses internal check-restarts for some components of the system.  That's one
other option that's always available.

Note You need to log in before you can comment on or make changes to this bug.