[Cluster-devel] RFC: generic improvement to fence agents api

Marek Grac mgrac at redhat.com
Mon Mar 21 08:40:52 UTC 2011


Hi,

On 03/19/2011 07:34 AM, Fabio M. Di Nitto wrote:
>     <device name="..." ports="1 2"/>
> ....
>
> Either by using a new keyword "ports" or re-using "port" itself. If
> using "port", current configuration will continue to work as-is and the
> change effectively would not introduce any backward compatibility issue.
>
> This way the agent can:
>
> 1) connect once (reducing in most cases the ssh/telnet/whatever time)
> 2) issue the OFF command as fast as possible (almost in parallel)
> 3) then wait for the results.
>
> By adopting a list, the configuration would look cleaner too IMHO.
>
> A quick glance, the change should not affect fenced (David can you
> confirm please?), and most agents could handle it via the fencing python
> lib (Marek?).

1) connect once will work only for connection-based fence agents. It 
won't help with SNMP + HTTP REST and there won't be any benefits for 
drac/ilo/ipmi that can turn off only one machine. Rough estimate is that 
it can help us to improve time in 1/3 to 1/2 fence agents.

2) parallelism is possible only on those fence devices that works in 
async mode. Issuing more than one command will also increase a need for 
QE. Some of those devices are not able even to handle 'get status' 
immediately after 'power off' (reason for --power-wait). Serialization 
within same connection is definitely possible and for fencing python lib 
we can implement that directly in library.

-) "ports" is better than "port" because such change will have impact 
also on UI and we have to distinguish if fence agent accept more than 
one port or not.

-) There is no character that can't be used for name of virtual machine.

m,





More information about the Cluster-devel mailing list