[Linux-cluster] meta-data problem: rg_test shows the wrong value
Ofer Inbar
cos at aaaaa.org
Mon Aug 8 23:24:34 UTC 2011
I'm having a perplexing issue with a resource with a custom resource
agent I've written. Here's what the cluster.conf section for it looks
like (with some anonymization of names and IPs):
<rm log_level="6">
<service autostart="1" name="customresource" recovery="relocate">
<ip address="10.6.19.50" monitor_link="1">
<customresource name="A" monitoringport="9100" status_timeout="10"/>
<customresource name="B" monitoringport="9105" status_timeout="30"/>
</ip>
</service>
</rm>
In the resource agent script /usr/share/cluster/customresource.sh,
status interval is calculated to be status_timeout * 2 + 2. So in
this case, customresource A should have an interval of 22, and B
should have an interval of 62.
When I run the resource agent by hand, I get the right values:
| # export OCF_RESKEY_name="A"
| # export OCF_RESKEY_monitoringport="9100"
| # export OCF_RESKEY_status_timeout="10"
| # /usr/share/cluster/customresource.sh meta-data
[...]
| <actions>
| <action name="meta-data" timeout="5s"/>
| <action name="methods" timeout="5s"/>
| <action name="start" timeout="10s"/>
| <action name="stop" timeout="30s"/>
| <action name="status" interval="22s" timeout="10s"/>
| <action name="monitor" interval="22s" timeout="10s"/>
| <action name="verify" timeout="5s"/>
| </actions>
| </resource-agent>
However, when I run rg_test on this same cluster.conf and agent script,
I get a different value:
| $ sudo rg_test test /tmp/cluster.conf
[...]
| myresource {
| name = "A";
| monitoringport = "9100";
| status_timeout = "10";
| status_interval = "40";
| }
| myresource {
| name = "B"
| monitoringport = "9105";
| status_timeout = "30";
| status_interval = "40";
| }
Where is it getting this "40" value from?
Well, the funny thing is that the correct value *used* to be 40.
That was the default the resource agent sets if you *don't* specify
status_timeout in cluster.conf. To test my new change, I made a copy
of cluster.conf in /tmp, added the new status_timeout values, and ran
rg_test on it. But somehow, rg_test seems to be giving me a value that
does not come from this run of the resource agent and this cluster.conf.
Anyone know what's going on here?
-- Cos
More information about the Linux-cluster
mailing list