resource-agents: Find any descendant IP resource of a service
PATCH 1/1 resource-agents: Find any descendant IP resource of a service
Not just immediate children. This fixes errors in sylog like this:
rgmanager[xxxx]: Looking For IP Addresses [apache:apache] > Failed - No IP Addresses Found
--- rgmanager/src/resources/utils/config-utils.sh.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
rgmanager/src/resources/utils/config-utils.sh.in +1 -1
@@ -135,7 +135,7 @@ get_service_ip_keys() # x=1 while : ; do - key="/cluster/rm/service[@name=\"$svc\"]/ip[$x]" + key="/cluster/rm/service[@name=\"$svc\"]//ip[$x]" # # Try direct method
Signature · 1 line
1.7.5.1
PATCH 1/1 resource-agents: Find any descendant IP resource of a service
Quoted 3 lines · Michael Bunk
Not just immediate children. This fixes errors in sylog like this:
rgmanager[xxxx]: Looking For IP Addresses [apache:apache]> Failed - No IP Addresses Found
I -think- it was intentional; if it's not at the top level, you can do things like:
<service>
<apache>
<ip/>
</apache></service>
The // will then find that IP, but the configuration generated by apache resource agent will be incorrect and cause the Apache instance to fail to start: it will try to bind to the IP address.
I suppose that's a degenerate case, however.
The RA guys should definitely have an idea here.
-- Lon
PATCH 1/1 resource-agents: Find any descendant IP resource of a service
Am 28.09.2011 22:35, schrieb Lon Hohberger:
Quoted 13 lines · Michael Bunk
Quoted 4 lines
Not just immediate children. This fixes errors in sylog like this:
rgmanager[xxxx]: Looking For IP Addresses [apache:apache]> Failed - No IP Addresses Found
I -think- it was intentional; if it's not at the top level, you can do things like:
<service>
<apache> <ip/> </apache>
Quoted 7 lines
</service>
The // will then find that IP, but the configuration generated by apache resource agent will be incorrect and cause the Apache instance to fail to start: it will try to bind to the IP address.
I suppose that's a degenerate case, however.
Yes, that is pathological... but our case - which worked in RHEL 4 - looks like this:
<service>
<script ref="tiebreaker">
<script file="/etc/cluster/drbd0" name="drbd0" ...>
<fs device="/dev/drbd0" ...>
<ip ...>
<apache/>
</ip>
</fs>
</script>
</script></service>
It doesn't feel right to make the ip resource a sibling of the tiebreaker script.
If <ip> resources are required to be put directly under <service>, then the docs (without having read them every word) should mention this and the XML schema for cluster.conf should enforce it.
Michael