Hi Dejan,

Thanks for the advice.
Is your advice to be done as follows?

# diff cibconfig.py.ORG cibconfig.py -urN
--- cibconfig.py.ORG    2011-04-28 12:23:55.000000000 +0900
+++ cibconfig.py        2011-05-27 12:00:27.427168202 +0900
@@ -1514,6 +1514,16 @@
     def import_cib(self):
         'Parse the current CIB (from cibadmin -Q).'
         self.doc,cib = read_cib(cibdump2doc)
+        common_debug("import_cib 
>BEFORE:\n%s"%(get_conf_elem(self.doc,"nodes").toprettyxml(indent='  ',newl='')))
+        nodes = get_conf_elem(self.doc,"nodes")
+        if nodes:
+            for c in nodes.childNodes:
+                if not is_element(c) or c.tagName != "node":
+                    continue
+                uname = c.getAttribute("uname").encode('ascii')
+                if uname:
+                    c.setAttribute("id",uname)
+        common_debug("import_cib 
>AFTER:\n%s"%(get_conf_elem(self.doc,"nodes").toprettyxml(indent='  ',newl='')))
         if not self.doc:
             return False
         if not cib:
#
# crm -d configure load update test1.cli
DEBUG: import_cib >BEFORE:
<nodes>
        <node id="68057c1e-6a5e-402b-be84-c56b98d5c985" type="normal" 
uname="srv-a2"/>
        <node id="0cd9d2df-13fa-4b11-93d3-27a57192caeb" type="normal" 
uname="srv-a1"/>
    </nodes>
DEBUG: import_cib >AFTER:
<nodes>
        <node id="srv-a2" type="normal" uname="srv-a2"/>
        <node id="srv-a1" type="normal" uname="srv-a1"/>
    </nodes>
DEBUG: obj srv-a2 node: <node id="srv-a2" type="normal" uname="srv-a2"/>

DEBUG: obj srv-a1 node: <node id="srv-a1" type="normal" uname="srv-a1"/>

(snip)
#

This is it, srv-a1 and srv-a2 are added as unclean node.

# crm configure show
node srv-a2
node srv-a1 \
        utilization capacity="1"
node $id="68057c1e-6a5e-402b-be84-c56b98d5c985" srv-a2
node $id="0cd9d2df-13fa-4b11-93d3-27a57192caeb" srv-a1
property $id="cib-bootstrap-options" \
        dc-version="1.1.5-1.25.el6-5bdfc629f35af0305bb87676297d81251f0511ea" \
        cluster-infrastructure="Heartbeat"
#

Best Regards,
Kazunori INOUE

(2011/05/20 0:29), Dejan Muhamedagic wrote:
Hi Kazunori-san,

On Thu, May 12, 2011 at 03:22:31PM +0900, Kazunori INOUE wrote:
Hi all,

We found that crm shell (configure node) failed on Heartbeat-3.0.4 stack.
I attached a patch for crm shell in Pacemaker-1.1 (e872eeb39a5f).

[failed case]
(1) Set node's attributes/utilization with crm shell
     ('crm configure load update cli-file').

     # service heartbeat start
     # cat test1.cli
     node srv-a1 utilization capacity="1"
     #
     # crm configure load update test1.cli
     # crm_mon -1
     ============
     Last updated: Thu May 12 13:16:49 2011
     Stack: Heartbeat
     Current DC: srv-a2 (68057c1e-6a5e-402b-be84-c56b98d5c985) - partition with 
quorum
     Version: 1.1.5-1.25.el6-5bdfc629f35af0305bb87676297d81251f0511ea
     3 Nodes configured, unknown expected votes
     0 Resources configured.
     ============

  ->  Node srv-a1: UNCLEAN (offline)
     Online: [ srv-a2 srv-a1 ]

     #
     # crm configure show
     node $id="68057c1e-6a5e-402b-be84-c56b98d5c985" srv-a2
     node $id="0cd9d2df-13fa-4b11-93d3-27a57192caeb" srv-a1
     node srv-a1 \
             utilization capacity="1"
     property $id="cib-bootstrap-options" \
             
dc-version="1.1.5-1.25.el6-5bdfc629f35af0305bb87676297d81251f0511ea" \
             cluster-infrastructure="Heartbeat"
     #


     In following CLI, node's attribute was set correctly.
     However, it is inconvenient to specify ID of the cluster node.
     # cat test2.cli
     node $id="0cd9d2df-13fa-4b11-93d3-27a57192caeb" \
     srv-a1 utilization capacity="1"
     #

(2) Set node's attributes/utilization with crm shell
     ('crm configure node xxx').

     # service heartbeat start
     # crm configure node srv-a1 attributes attr1=val1
     # crm_mon -A1
     ============
     Last updated: Thu May 12 11:56:17 2011
     Stack: Heartbeat
     Current DC: srv-a2 (68057c1e-6a5e-402b-be84-c56b98d5c985) - partition with 
quorum
     Version: 1.1.5-1.25.el6-5bdfc629f35af0305bb87676297d81251f0511ea
     3 Nodes configured, unknown expected votes
     0 Resources configured.
     ============

  ->  Node srv-a1: UNCLEAN (offline)
     Online: [ srv-a2 srv-a1 ]

     Node Attributes:
     * Node srv-a2:
  ->  * Node srv-a1:
     #

Regards,
Kazunori INOUE

OK, I can imagine what's going on, but I'm not so sure about the
proposed patch. Instead of fixing the id of the node afterwards
it should have the right value from the beginning, i.e. after
parsing XML. Or would there be other issues because of that?

Cheers,

Dejan

_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker

_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker

Reply via email to