Bug 801799

Summary: rg_test starts the child resources instead of parents
Product: Red Hat Enterprise Linux 5 Reporter: Giulio Fidente <gfidente>
Component: rgmanagerAssignee: Ryan McCabe <rmccabe>
Status: CLOSED NOTABUG QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: unspecified    
Version: 5.8CC: adrew, cluster-maint, edamato, jpokorny
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-02 15:27:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
config file used to produce the rg_test noop example output none

Description Giulio Fidente 2012-03-09 14:38:21 UTC
Created attachment 568915 [details]
config file used to produce the rg_test noop example output

Description of problem:

rg_test does not seem to be behave consistently.

when testing a resource "stop" it _does_ stops the childs first, but when testing a resource "start" it _still_ starts the childs instead of the parents first

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

How reproducible:
Define a service with a number of hirearchically organized resources, stop the service and try to start/stop the resources using rg_test

Steps to Reproduce:
1. define a service with a number of hirearchically organized resources
2. disable the cluster service
3. start/stop the resources using rg_test
  
Actual results:
the "start" behaviour seems incorrect, there is no point in starting the child resources

Expected results:
it should instead start the parent resources, while it doesn't

Additional info:
here is the output from rg_test noop, attached is the example config file

[root@lximydb21 ~]# rg_test noop /etc/cluster/cluster.conf stop script
shmysqld2
Running in test mode.
Stopping shmysqld2...
[stop] script:shsphinxcl
[stop] fs:fssphinxcl
[stop] script:shmysqld2
Stop of shmysqld2 complete
[root@lximydb21 ~]# rg_test noop /etc/cluster/cluster.conf start script
shmysqld2
Running in test mode.
Starting shmysqld2...
[start] script:shmysqld2
[start] fs:fssphinxcl
[start] script:shsphinxcl
Start of shmysqld2 complete
[root@lximydb21 ~]#

Comment 1 Adam Drew 2012-03-13 20:18:16 UTC
This is expected behavior. The stop and start orders there are correct as are where rg_test is starting from in the resource tree. If you want to test the whole service do:

$ rg_test noop /etc/cluster/cluster.conf start service mysqld2
and 
$ rg_test noop /etc/cluster/cluster.conf stop service mysqld2

But when you are selecting a specific resource in the service it is only going to test the syntax of the resource that are further down in the resource tree from that point. That's expected behavior.

Comment 2 Jan Pokorný [poki] 2012-08-02 15:27:34 UTC
Admittedly, "Red Hat Cluster Suite" product in Bugzilla is tempting,
but no longer in use (no longer having a standalone position).

As per the package, flipping to RHEL 5 -- rgmanager (cman was not
a good guess here).
Also closing as NOTABUG; see, e.g., [1]:

>  The following rules apply to parent/child relationships in
>  a resource tree:
> 
>  * Parents are started before children.
>  * Children must all stop cleanly before a parent may be stopped.

[1] http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Cluster_Administration/ap-ha-resource-behavior-CA.html#s1-clust-rsc-desc-CA