“Using DRBD in Heartbeat CRM-enabled clusters”を試してXMLエラー

 article  Comments Off on “Using DRBD in Heartbeat CRM-enabled clusters”を試してXMLエラー
Dec 132009
 

DRBDのページにあるチュートリアルをdebian sidで試していたらエラーになった。
Using DRBD in Heartbeat CRM-enabled clusters

debian1:~# cibadmin -U -x resources.xml
Call cib_modify failed (-47): Update does not conform to the DTD in /usr/share/heartbeat/crm.dtd
<null>

DTDに違反しているエラーっぽいが、どこの記述がまずいのかわからないのでxmllintで確認。

debian1:~# xmllint --dtdvalid file:///usr/share/heartbeat/crm.dtd resources.xml
resources.xml:5: element nvpair: validity error : Element nvpair does not carry attribute id
resources.xml:6: element nvpair: validity error : Element nvpair does not carry attribute id
resources.xml:13: element nvpair: validity error : Element nvpair does not carry attribute id
resources.xml:16: element operations: validity error : No declaration for attribute id of element operations
resources.xml:31: element nvpair: validity error : Element nvpair does not carry attribute id
resources.xml:32: element nvpair: validity error : Element nvpair does not carry attribute id
resources.xml:33: element nvpair: validity error : Element nvpair does not carry attribute id
resources.xml:41: element nvpair: validity error : Element nvpair does not carry attribute id
resources.xml:42: element nvpair: validity error : Element nvpair does not carry attribute id
Document resources.xml does not validate against file:///usr/share/heartbeat/crm.dtd

XML的にはnvpair要素にそれぞれidを割り付ける必要があるが、cibadminコマンドを経由すると自動で付与されるので無視できる。
問題は16行目のoperations要素で、こちらにはidを付けられないとのこと。
<operations>に変更して無事cibadminにて反映できた。