groups are hardwired to restart children >N when child N restarts

if you want the behavior described, don't use a group... specify the resources and constraints manually.

On Nov 13, 2007, at 2:26 AM, Aníbal Monsalve Salazar wrote:

We are able to successfully trigger reloads for HA resources (by
changing the value of a non-unique RA parameter), provided they are not
in a group.  Once resources are grouped, changing the same non-unique
parameter always results in a full restart of the resource, and all
dependent resources.  Here's a simple demonstration of this problem:

1) Edit /usr/lib/ocf/resource.d/heartbeat/Dummy and add a non-unique
  parameter so you can trigger a reload:

   --- Dummy.orig  2007-11-12 14:45:21.378089227 +1100
   +++ Dummy       2007-11-12 14:15:26.121908269 +1100
   @@ -57,6 +57,12 @@
    <content type="string"
     default="${HA_RSCTMP}/Dummy-{OCF_RESOURCE_INSTANCE}.state" />
    </parameter>

   +<parameter name="reload-trigger" unique="0">
   +<longdesc lang="en">Change this to trigger a reload</longdesc>
   +<shortdesc lang="en">Change this to trigger a reload</shortdesc>
   +<content type="string"/>
   +</parameter>
   +
    </parameters>

2) Create a standalone resource, a group containing two resources,
  and appropriate constraints:

   <resources>
     <primitive id="test-reload-primitive" class="ocf"
       provider="heartbeat" type="Dummy"/>
     <group id="test-group">
       <primitive id="test-reload-grouped-1" class="ocf"
         provider="heartbeat" type="Dummy"/>
       <primitive id="test-reload-grouped-2" class="ocf"
         provider="heartbeat" type="Dummy"/>
     </group>
   </resources>
   <constraints>
     <rsc_location rsc="test-reload-primitive">
       <rule score="INFINITY">
<expression attribute="#uname" operation="eq" value="node-0"/>
       </rule>
     </rsc_location>
     <rsc_location rsc="test-group">
       <rule score="INFINITY">
<expression attribute="#uname" operation="eq" value="node-0"/>
       </rule>
     </rsc_location>
   </constraints>

3) Try to trigger a reload of each of the three resources:

# crm_resource --resource "test-reload-primitive" --set- parameter \
        "reload-trigger" --property-value "$(date --rfc-3339=ns)"

# crm_resource --resource "test-reload-grouped-1" --set- parameter \
        "reload-trigger" --property-value "$(date --rfc-3339=ns)"

# crm_resource --resource "test-reload-grouped-2" --set- parameter \
        "reload-trigger" --property-value "$(date --rfc-3339=ns)"

  If you tail /var/log/messages while doing this, you'll see the
  standalone resource is reloaded correctly:

    Nov 12 14:36:38 node-0 Dummy[20400]: [20407]: ERROR: Reloading...
    Nov 12 14:36:38 node-0 Dummy[20400]: [20408]: DEBUG:
      test-reload-primitive reload : 0

  The other two resources however do a full stop-and-start:

    Nov 12 14:37:01 node-0 Dummy[20562]: [20570]: DEBUG:
      test-reload-grouped-2 stop : 0
    Nov 12 14:37:02 node-0 Dummy[20571]: [20578]: DEBUG:
      test-reload-grouped-1 stop : 0
    Nov 12 14:37:03 node-0 Dummy[20582]: [20589]: DEBUG:
      test-reload-grouped-1 start : 0
    Nov 12 14:37:04 node-0 Dummy[20590]: [20597]: DEBUG:
      test-reload-grouped-2 start : 0


We need to be able to do a reload of individual resources within a
group.  Is there anything extra we should be configuring in order to
allow this?
_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

_______________________________________________
Linux-HA mailing list
[email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to