Mailing List Archive

The mess with OCF_CHECK_LEVEL ("crm" aborts during "commit")
Hi!

Some RAs support OCF_CHECK_LEVEL (e.g. ocf:heartbeat:Raid1). However the OCF_CHECK_LEVEL is not advertised in the metadata. Also, OCF_CHECK_LEVEL is not a global parameter (wouldn't make much sense).

So obviously using the crm_gui one can add OCF_CHECK_LEVEL for some resource, and that seems to work.

So far, so good. Now I tried to add more resources without an OCF_CHECK_LEVEL using the crm command line. I added the new resources to a group that contained resources using OCF_CHECK_LEVEL.

Everything looked OK until commit, but then:

crm(live)configure# commit
Traceback (most recent call last):
File "/usr/sbin/crm", line 45, in <module>
main.run()
File "/usr/lib64/python2.6/site-packages/crm/main.py", line 293, in run
if not parse_line(levels,shlex.split(inp)):
File "/usr/lib64/python2.6/site-packages/crm/main.py", line 147, in parse_line
rv = d() # execute the command
File "/usr/lib64/python2.6/site-packages/crm/main.py", line 146, in <lambda>
d = lambda: cmd[0](*args)
File "/usr/lib64/python2.6/site-packages/crm/ui.py", line 1524, in commit
self._verify(mkset_obj("xml","changed"),mkset_obj("xml"))
File "/usr/lib64/python2.6/site-packages/crm/ui.py", line 1431, in _verify
rc2 = set_obj_semantic.semantic_check(set_obj_all)
File "/usr/lib64/python2.6/site-packages/crm/cibconfig.py", line 296, in semantic_check
rc = self.__check_unique_clash(set_obj_all)
File "/usr/lib64/python2.6/site-packages/crm/cibconfig.py", line 276, in __check_unique_clash
process_primitive(node, clash_dict)
File "/usr/lib64/python2.6/site-packages/crm/cibconfig.py", line 261, in process_primitive
if ra_params[ name ].get("unique") == "1":
KeyError: u'OCF_CHECK_LEVEL'

Does this mean "crm configure" cannot deal with OCF_CHECK_LEVEL? I'd like to see OCF_CHECK_LEVEL vanish in favor of a regular RA parameter. Then everything would be fine, but what can I do in the mean time?

# rpm -qf $(which crm)
pacemaker-1.1.5-5.7.1
(SLES11 SP1 x86_64 + Updates)

Regards,
Ulrich


_______________________________________________
ha-wg-technical mailing list
ha-wg-technical@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical
Re: The mess with OCF_CHECK_LEVEL ("crm" aborts during "commit") [ In reply to ]
Hi,

On Thu, Aug 04, 2011 at 05:45:16PM +0200, Ulrich Windl wrote:
> Hi!
>
> Some RAs support OCF_CHECK_LEVEL (e.g. ocf:heartbeat:Raid1). However the OCF_CHECK_LEVEL is not advertised in the metadata. Also, OCF_CHECK_LEVEL is not a global parameter (wouldn't make much sense).
>
> So obviously using the crm_gui one can add OCF_CHECK_LEVEL for some resource, and that seems to work.
>
> So far, so good. Now I tried to add more resources without an OCF_CHECK_LEVEL using the crm command line. I added the new resources to a group that contained resources using OCF_CHECK_LEVEL.

OCF_CHECK_LEVEL is to be defined on a per-monitor basis, like
this:

primitive ...
op monitor OCF_CHECK_LEVEL=10 interval=...

> Everything looked OK until commit, but then:
>
> crm(live)configure# commit
> Traceback (most recent call last):
> File "/usr/sbin/crm", line 45, in <module>
> main.run()
> File "/usr/lib64/python2.6/site-packages/crm/main.py", line 293, in run
> if not parse_line(levels,shlex.split(inp)):
> File "/usr/lib64/python2.6/site-packages/crm/main.py", line 147, in parse_line
> rv = d() # execute the command
> File "/usr/lib64/python2.6/site-packages/crm/main.py", line 146, in <lambda>
> d = lambda: cmd[0](*args)
> File "/usr/lib64/python2.6/site-packages/crm/ui.py", line 1524, in commit
> self._verify(mkset_obj("xml","changed"),mkset_obj("xml"))
> File "/usr/lib64/python2.6/site-packages/crm/ui.py", line 1431, in _verify
> rc2 = set_obj_semantic.semantic_check(set_obj_all)
> File "/usr/lib64/python2.6/site-packages/crm/cibconfig.py", line 296, in semantic_check
> rc = self.__check_unique_clash(set_obj_all)
> File "/usr/lib64/python2.6/site-packages/crm/cibconfig.py", line 276, in __check_unique_clash
> process_primitive(node, clash_dict)
> File "/usr/lib64/python2.6/site-packages/crm/cibconfig.py", line 261, in process_primitive
> if ra_params[ name ].get("unique") == "1":
> KeyError: u'OCF_CHECK_LEVEL'

This has been fixed in the meantime.

Thanks,

Dejan

P.S. This list is for technical discussion, not for bug reports
and user questions. Please use either pacemaker or linux-ha ML
for those.

> Does this mean "crm configure" cannot deal with OCF_CHECK_LEVEL? I'd like to see OCF_CHECK_LEVEL vanish in favor of a regular RA parameter. Then everything would be fine, but what can I do in the mean time?
>
> # rpm -qf $(which crm)
> pacemaker-1.1.5-5.7.1
> (SLES11 SP1 x86_64 + Updates)
>
> Regards,
> Ulrich
>
>
> _______________________________________________
> ha-wg-technical mailing list
> ha-wg-technical@lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical
_______________________________________________
ha-wg-technical mailing list
ha-wg-technical@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical