• R/O
  • SSH

pm_diskd: Commit

※ リポジトリは、pm-diskd ブランチが https://github.com/linux-ha-japan/pm_diskd-1.0 へ、pm-diskd-2.0ブランチが https://github.com/linux-ha-japan/pm_diskd へ移行しました。

Pacemaker 対応ディスク故障監視機能。

Pacemaker-1.0公式リポジトリのクローンに対し、パッチ作成用のブランチを作成して管理する。
ブランチ名: pm-diskd

初回 hg clone 実行後は、hg update -r pm-diskd を実行すること。

Heartbeat-2.1.4 用 hb-diskd(*) のPacemaker対応版
(*) http://sourceforge.jp/projects/linux-ha/releases/?package_id=10555


Commit MetaInfo

Revision13c87913dfe66cf7963552db095a918f4ebfbb2b (tree)
Time2010-04-08 18:07:39
AuthorAndrew Beekhof <andrew@beek...>
CommiterAndrew Beekhof

Log Message

Hg: Automated merge

Change Summary

Incremental Difference

diff -r a99917f282ff -r 13c87913dfe6 crmd/lrm.c
--- a/crmd/lrm.c Thu Apr 08 10:41:16 2010 +0200
+++ b/crmd/lrm.c Thu Apr 08 11:07:39 2010 +0200
@@ -550,6 +550,9 @@
550550 } else if(fsa_our_dc_version != NULL) {
551551 caller_version = fsa_our_dc_version;
552552
553+ } else if(op->params == NULL) {
554+ caller_version = fsa_our_dc_version;
555+
553556 } else {
554557 /* there is a small risk in formerly mixed clusters that
555558 * it will be sub-optimal.
diff -r a99917f282ff -r 13c87913dfe6 shell/modules/cibconfig.py
--- a/shell/modules/cibconfig.py Thu Apr 08 10:41:16 2010 +0200
+++ b/shell/modules/cibconfig.py Thu Apr 08 11:07:39 2010 +0200
@@ -1190,7 +1190,7 @@
11901190 l = []
11911191 if self.obj_type == "property":
11921192 l = get_pe_property_list() + get_crmd_property_list()
1193- l += ("dc-version","cluster-infrastructure")
1193+ l += ("dc-version","cluster-infrastructure","last-lrm-refresh")
11941194 elif self.obj_type == "op_defaults":
11951195 l = vars.op_attributes
11961196 elif self.obj_type == "rsc_defaults":
diff -r a99917f282ff -r 13c87913dfe6 shell/modules/cibstatus.py
--- a/shell/modules/cibstatus.py Thu Apr 08 10:41:16 2010 +0200
+++ b/shell/modules/cibstatus.py Thu Apr 08 11:07:39 2010 +0200
@@ -70,9 +70,7 @@
7070 self.status_node = None
7171 self.doc = None
7272 self.cib = None
73- self.modified = False
74- self.node_changes = {}
75- self.op_changes = {}
73+ self.reset_state()
7674 def _cib_path(self,source):
7775 if source[0:7] == "shadow:":
7876 return shadowfile(source[7:])
@@ -93,16 +91,18 @@
9391 return False
9492 self.doc,self.cib = doc,cib
9593 self.status_node = status
94+ self.reset_state()
95+ return True
96+ def reset_state(self):
9697 self.modified = False
9798 self.node_changes = {}
9899 self.op_changes = {}
99- return True
100100 def status_node_list(self):
101- if not self.status_node and not self._load(self.origin):
101+ if not self.get_status():
102102 return
103103 return [x.getAttribute("id") for x in self.doc.getElementsByTagName("node_state")]
104104 def status_rsc_list(self):
105- if not self.status_node and not self._load(self.origin):
105+ if not self.get_status():
106106 return
107107 rsc_list = [x.getAttribute("id") for x in self.doc.getElementsByTagName("lrm_resource")]
108108 # how to uniq?
@@ -160,7 +160,9 @@
160160 '''
161161 Return the status section node.
162162 '''
163- if not self.status_node and not self._load(self.origin):
163+ if (not self.status_node or \
164+ (self.origin == "live" and not self.modified)) \
165+ and not self._load(self.origin):
164166 return None
165167 return self.status_node
166168 def list_changes(self):
@@ -178,7 +180,7 @@
178180 '''
179181 Page the "pretty" XML of the status section.
180182 '''
181- if not self.status_node and not self._load(self.origin):
183+ if not self.get_status():
182184 return
183185 page_string(self.status_node.toprettyxml(user_prefs.xmlindent))
184186 return True
@@ -187,7 +189,7 @@
187189 Modify crmd, expected, and join attributes of node_state
188190 to set the node's state to online, offline, or unclean.
189191 '''
190- if not self.status_node and not self._load(self.origin):
192+ if not self.get_status():
191193 return
192194 node_node = get_tag_by_id(self.status_node,"node_state",node)
193195 if not node_node:
@@ -214,7 +216,7 @@
214216 Set rc-code and op-status in the lrm_rsc_op status
215217 section element.
216218 '''
217- if not self.status_node and not self._load(self.origin):
219+ if not self.get_status():
218220 return
219221 l_op = op
220222 l_int = ""
Show on old repository browser