From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lon Hohberger Date: Thu, 5 Jan 2012 10:57:35 -0500 Subject: [Cluster-devel] [PATCH 5/5] rgmanager: Fix dependency issue related to ordering (RHEL5) In-Reply-To: <1325779055-1424-1-git-send-email-lhh@redhat.com> References: <1325779055-1424-1-git-send-email-lhh@redhat.com> Message-ID: <1325779055-1424-5-git-send-email-lhh@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit If you ordered two services the opposite way in cluster.conf ('b' first, which depends on 'a'), then rgmanager would fail over 'b' despite the fact that 'a' was not running yet - this is because the state of 'a' was not set to 'stopped' - so we need to check for a node-death event in move_or_start(). Resolves: rhbz#743214 Signed-off-by: Lon Hohberger --- rgmanager/src/resources/default_event_script.sl | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/rgmanager/src/resources/default_event_script.sl b/rgmanager/src/resources/default_event_script.sl index f2c7bc1..be434e9 100644 --- a/rgmanager/src/resources/default_event_script.sl +++ b/rgmanager/src/resources/default_event_script.sl @@ -156,7 +156,9 @@ define move_or_start(service, node_list) depends = service_property(service, "depend"); if (depends != "") { (,,, owner, state) = service_status(depends); - if (owner < 0) { + if ((owner < 0) or + ((event_type == EVENT_NODE) and (owner == node_id) and + (node_state == 0))) { debug(service, " is not runnable; dependency not met"); ()=service_stop(service); return ERR_DEPEND; @@ -521,8 +523,8 @@ define default_service_event_handler() (s_trans,,,,,, s_state) = service_status(service_name, 1); if ((s_state == "started") and (state == "started") and (d_trans >= s_trans)) { - %debug("S:", service_name, " trans ", s_trans); - %debug("D:", services[x], " trans ", d_trans); + debug("S:", service_name, " trans ", s_trans); + debug("D:", services[x], " trans ", d_trans); debug("Skipping ", services[x], "; restart not needed"); -- 1.7.3.4