[Cluster-devel] [PATCH] Make fenced's retry time configurable;
Lon Hohberger
lhh at redhat.com
Tue Jan 29 21:42:32 UTC 2008
As seen here:
https://bugzilla.redhat.com/show_bug.cgi?id=418531
Index: fenced/fd.h
===================================================================
RCS file: /cvs/cluster/cluster/fence/fenced/fd.h,v
retrieving revision 1.27
diff -u -r1.27 fd.h
--- fenced/fd.h 26 Oct 2007 20:36:49 -0000 1.27
+++ fenced/fd.h 29 Jan 2008 21:39:16 -0000
@@ -132,12 +132,15 @@
{
int post_join_delay;
int post_fail_delay;
+ int retry_time;
+ int pad;
char *override_path;
int8_t clean_start;
int8_t post_join_delay_opt;
int8_t post_fail_delay_opt;
int8_t clean_start_opt;
int8_t override_path_opt;
+ int8_t retry_time_opt;
};
#define FDFL_RUN (0)
Index: fenced/main.c
===================================================================
RCS file: /cvs/cluster/cluster/fence/fenced/main.c,v
retrieving revision 1.46
diff -u -r1.46 main.c
--- fenced/main.c 7 Jan 2008 05:52:28 -0000 1.46
+++ fenced/main.c 29 Jan 2008 21:39:16 -0000
@@ -15,7 +15,7 @@
#include "ccs.h"
#include "copyright.cf"
-#define OPTION_STRING ("cj:f:Dn:O:hVS")
+#define OPTION_STRING ("cj:f:Dn:O:R:hVS")
#define LOCKFILE_NAME "/var/run/fenced.pid"
struct client {
@@ -162,6 +162,20 @@
free(str);
}
+ if (comline.retry_time_opt == FALSE) {
+ str = NULL;
+ memset(path, 0, 256);
+ sprintf(path, "/cluster/fence_daemon/@retry_time");
+
+ error = ccs_get(cd, path, &str);
+ if (!error && str)
+ comline.retry_time = atoi(str);
+ if (str)
+ free(str);
+ if (comline.retry_time < 3)
+ comline.retry_time = 3;
+ }
+
log_debug("delay post_join %ds post_fail %ds",
comline.post_join_delay, comline.post_fail_delay);
@@ -576,6 +590,8 @@
comline->post_join_delay_opt = FALSE;
comline->post_fail_delay_opt = FALSE;
comline->clean_start_opt = FALSE;
+ comline->retry_time_opt = FALSE;
+ comline->retry_time = 5; /* default */
while (cont) {
optchar = getopt(argc, argv, OPTION_STRING);
@@ -602,6 +618,13 @@
comline->override_path_opt = TRUE;
break;
+ case 'R':
+ comline->retry_time = atoi(optarg);
+ if (comline->retry_time < 3)
+ comline->retry_time = 3;
+ comline->retry_time_opt = TRUE;
+ break;
+
case 'D':
daemon_debug_opt = TRUE;
break;
Index: fenced/recover.c
===================================================================
RCS file: /cvs/cluster/cluster/fence/fenced/recover.c,v
retrieving revision 1.30
diff -u -r1.30 recover.c
--- fenced/recover.c 26 Oct 2007 20:36:49 -0000 1.30
+++ fenced/recover.c 29 Jan 2008 21:39:16 -0000
@@ -402,7 +402,8 @@
/* Check for manual intervention */
override = open_override(comline.override_path);
- if (check_override(override, node->name, 5) > 0) {
+ if (check_override(override, node->name,
+ comline.retry_time) > 0) {
syslog(LOG_WARNING, "fence \"%s\" overridden by "
"administrator intervention", node->name);
More information about the Cluster-devel
mailing list