Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=66…
Commit: 662f23bf7316e892de7922b7cec37e0407dab738
Parent: 5dd1e9351f56ddd88dcd40aabbe3289ff4a18701
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Fri Mar 30 09:40:02 2012 +0200
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Fri Mar 30 10:22:42 2012 +0200
config: update relax ng schema to include totem miss_count_const
Resolves: rhbz#804938
Reviewed-by: Christine Caulfield <ccaulfie(a)redhat.com>
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
config/tools/xml/cluster.rng.in.head | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/config/tools/xml/cluster.rng.in.head b/config/tools/xml/cluster.rng.in.head
index a669c98..1bdb836 100644
--- a/config/tools/xml/cluster.rng.in.head
+++ b/config/tools/xml/cluster.rng.in.head
@@ -255,6 +255,15 @@ To validate your cluster.conf against this schema, run:
calculated from retransmits_before_loss and token." rha:default="4"
rha:sample="5"/>
</optional>
+ <optional>
+ <attribute name="miss_count_const"
+ rha:description="This constant defines the maximum number of times
+ on receipt of a token a message is checked for retransmission before
+ retransmission occurs. This parameter is useful to modify for switches
+ that delay multicast packets compared to unicast packets.
+ The default setting works well for nearly all modern switches."
+ rha:default="5" rha:sample="10"/>
+ </optional>
<!-- FIXME: The following description was adapted from the man page.
It may be tool long for the schema document. Consider cutting text
after the second sentence and referring the reader to the openais.conf
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ff…
Commit: ff280bc349cb7ce973aaab1f1a3dd1b289dff711
Parent: 662f23bf7316e892de7922b7cec37e0407dab738
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Fri Mar 30 09:58:36 2012 +0200
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Fri Mar 30 10:26:58 2012 +0200
cman init: fix start sequence error handling
Any daemon that fails to start would leave no traces.
the problem with cman init is that we need to handle multiple daemons
and tools. If one in the chain fails, we never reverted to the original
state of the system. This can indeed cause other issues.
Fix the init script to "stop" cman if any error happens during "start.
Resolves: rhbz#806002
Reviewed-by: Christine Caulfield <ccaulfie(a)redhat.com>
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
cman/init.d/cman.in | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/cman/init.d/cman.in b/cman/init.d/cman.in
index 48fab3c..1268b59 100644
--- a/cman/init.d/cman.in
+++ b/cman/init.d/cman.in
@@ -19,6 +19,9 @@
# set secure PATH
PATH="/bin:/usr/bin:/sbin:/usr/sbin:@SBINDIR@"
+# save invokation for rollback ops
+thisinvokation="$0"
+
local_chkconfig()
{
case "$1" in
@@ -183,6 +186,9 @@ nok() {
echo -e "$errmsg"
failure
echo
+ if [ "$currentaction" = "start" ]; then
+ $thisinvokation stop
+ fi
exit 1
}
@@ -695,6 +701,7 @@ leave_fence_domain()
start()
{
+ currentaction="start"
breakpoint="$1"
sshd_enabled && service sshd start
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=65…
Commit: 65a0eef71377d2de4ad94e8f20065c4467a441e9
Parent: b1695c02cb48f34f1d937585429ef4fdbbb570c7
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Fri Mar 30 09:58:36 2012 +0200
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Fri Mar 30 09:58:36 2012 +0200
cman init: fix start sequence error handling
Any daemon that fails to start would leave no traces.
the problem with cman init is that we need to handle multiple daemons
and tools. If one in the chain fails, we never reverted to the original
state of the system. This can indeed cause other issues.
Fix the init script to "stop" cman if any error happens during "start.
Resolves: rhbz#806002
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
cman/init.d/cman.in | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/cman/init.d/cman.in b/cman/init.d/cman.in
index d0c6f70..a39f19f 100644
--- a/cman/init.d/cman.in
+++ b/cman/init.d/cman.in
@@ -19,6 +19,9 @@
# set secure PATH
PATH="/bin:/usr/bin:/sbin:/usr/sbin:@SBINDIR@"
+# save invokation for rollback ops
+thisinvokation="$0"
+
chkconfig2()
{
case "$1" in
@@ -199,6 +202,9 @@ nok() {
echo -e "$errmsg"
failure
echo
+ if [ "$currentaction" = "start" ]; then
+ $thisinvokation stop
+ fi
exit 1
}
@@ -744,6 +750,7 @@ leave_fence_domain()
start()
{
+ currentaction="start"
breakpoint="$1"
sshd_enabled && cd @INITDDIR@ && ./sshd start
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=b1…
Commit: b1695c02cb48f34f1d937585429ef4fdbbb570c7
Parent: 6815deffc9f90106f21d049bd694a6592d935597
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
AuthorDate: Fri Mar 30 09:40:02 2012 +0200
Committer: Fabio M. Di Nitto <fdinitto(a)redhat.com>
CommitterDate: Fri Mar 30 09:40:02 2012 +0200
config: update relax ng schema to include totem miss_count_const
Resolves: rhbz#804938
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
---
config/tools/xml/cluster.rng.in.head | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/config/tools/xml/cluster.rng.in.head b/config/tools/xml/cluster.rng.in.head
index c2fed3e..4e3d901 100644
--- a/config/tools/xml/cluster.rng.in.head
+++ b/config/tools/xml/cluster.rng.in.head
@@ -255,6 +255,15 @@ To validate your cluster.conf against this schema, run:
calculated from retransmits_before_loss and token." rha:default="4"
rha:sample="5"/>
</optional>
+ <optional>
+ <attribute name="miss_count_const"
+ rha:description="This constant defines the maximum number of times
+ on receipt of a token a message is checked for retransmission before
+ retransmission occurs. This parameter is useful to modify for switches
+ that delay multicast packets compared to unicast packets.
+ The default setting works well for nearly all modern switches."
+ rha:default="5" rha:sample="10"/>
+ </optional>
<!-- FIXME: The following description was adapted from the man page.
It may be tool long for the schema document. Consider cutting text
after the second sentence and referring the reader to the openais.conf
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=62…
Commit: 62c370362243e989e34ce43d67dab82b44cb48bd
Parent: 0000000000000000000000000000000000000000
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: 2012-03-29 11:25 +0000
Committer: Marek 'marx' Grac <mgrac(a)redhat.com>
CommitterDate: 2012-03-29 11:25 +0000
annotated tag: v3.1.8 has been created
at 62c370362243e989e34ce43d67dab82b44cb48bd (tag)
tagging d26471873aafd5db53d71faccc7ca2ac18e8cff3 (commit)
replaces v3.1.7
v3.1.8 release
Marek 'marx' Grac (10):
fence_ipmilan: Possible buffer overflow
fence_vmware_soap: Support for 100+ VM in VMWare
fencing: Missing password is not reported properly
fence_rhevm: Incorrect status detected when VM is not in up/down
fence_ipmilan: power_wait timeout is not used for power off operation
fence agents: Using "delay" option can ends with timeout problems
fence agents: Attribute unique should be set to 0 (false) by default
fence_ipmilan: return code can be invalid when using -M cycle
fence_ipmilan: Using "delay" option
fence_ipmilan: Fix typo
Ryan O'Hara (1):
fence_scsi: remove unlink of fence_scsi.dev file
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ee…
Commit: ee6f0991586138d9470944e16e54c32dec3c72df
Parent: 9d26aa2f383cfc1864d6cfc7f7d6cf01b3ab17ee
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Tue Mar 27 16:41:22 2012 -0500
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Tue Mar 27 16:41:22 2012 -0500
dlm_controld: fix startup fence case
Clearing nodes from startup fencing due to a
fence_clear message, inadvertently caused the
node to clear fence_in_progress_unknown itself
by thinking it had completed all startup fencing.
Signed-off-by: David Teigland <teigland(a)redhat.com>
---
dlm_controld/daemon_cpg.c | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/dlm_controld/daemon_cpg.c b/dlm_controld/daemon_cpg.c
index d1f0e19..89788cd 100644
--- a/dlm_controld/daemon_cpg.c
+++ b/dlm_controld/daemon_cpg.c
@@ -102,6 +102,7 @@ static int daemon_clear_pid;
static uint64_t daemon_last_join_monotime;
static uint32_t last_join_seq;
static uint32_t send_fipu_seq;
+static int wait_clear_fipu;
static int fence_in_progress_unknown = 1;
static void send_fence_result(int nodeid, int result, uint32_t flags, uint64_t walltime);
@@ -937,9 +938,11 @@ static void daemon_fence_work(void)
* clear fence_in_progress_unknown
*/
out_fipu:
- need = nodes_need_fencing();
-
- if (cfgd_enable_startup_fencing && fence_in_progress_unknown && !need && list_empty(&startup_nodes)) {
+ if (cfgd_enable_startup_fencing &&
+ fence_in_progress_unknown &&
+ list_empty(&startup_nodes) &&
+ !wait_clear_fipu &&
+ !nodes_need_fencing()) {
/*
* case A in comment above
* all nodes are starting and have fipu set, they all do
@@ -958,8 +961,11 @@ static void daemon_fence_work(void)
* once all fencing is done so they clear fipu.
*/
low = 0;
+ need = 0;
list_for_each_entry(node, &daemon_nodes, list) {
+ if (node->need_fencing)
+ need++;
if (!node->daemon_member || node->need_fence_clear)
continue;
if (!low || node->nodeid < low)
@@ -1079,16 +1085,22 @@ static void receive_fence_clear(struct dlm_header *hd, int len)
* may come in separate messages if there is a pending fencing op
* when the new member joins (CLEAR_STARTUP will come right away,
* but CLEAR_FIPU will come once the fencing op is done.)
+ *
+ * We need wait_clear_fipu after emptying startup_nodes to avoid
+ * thinking we've finished startup fencing in case A below, and
+ * clearing fipu ourselves.
*/
if (!fr->result && (node->nodeid == our_nodeid)) {
if ((fr->flags & FR_CLEAR_STARTUP) && !list_empty(&startup_nodes)) {
count = clear_startup_node(0, 1);
log_debug("clear_startup_nodes %d", count);
+ wait_clear_fipu = 1;
}
if ((fr->flags & FR_CLEAR_FIPU) && fence_in_progress_unknown) {
fence_in_progress_unknown = 0;
log_debug("fence_in_progress_unknown 0 recv");
+ wait_clear_fipu = 0;
}
}