All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker
@ 2011-09-20  7:40 Kazunori INOUE
  2011-10-26  0:54 ` Lon Hohberger
  2012-02-07 23:18 ` Lon Hohberger
  0 siblings, 2 replies; 5+ messages in thread
From: Kazunori INOUE @ 2011-09-20  7:40 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

I created the backend "pm-fence" which has met the following
configurations / requirements.
- Both hosts and VMs, cluster (Pacemaker) have been configured.
  * This backend has STONITH (fencing) function of the VM cluster.
- The VMs are managed as resources (RA is VirtualDomain) by the host cluster.
  * In this configuration, in order to stop a VM,
    it is necessary to stop the resource through the host cluster.
    When the VM was stopped without through the host cluster
    (e.g., run the 'virsh destory'), the host cluster considers that
    VM resource failed.

Here's an overview of function. Please refer to attached 'overview.png'.
(1) pacemaker detects failure of resource.
(2) STONITH (STONITH plugin is vm-stonith) is executed, target is srv-B.
(3) vm-stonith requests 'fencing' to a host with fence_virt.
(4) use the serial listener.
(5~7) fence_virtd (pm-fence backend) requests 'forced stop' of VM
    resource (that is, srv-B) to pacemaker.
(8) destroy the srv-B.

Here's a description of the attached files.
* pm-fence_backend_for_pacemaker.patch
  - add the server/pm-fence.c
  - change the configure.in and server/Makefile.in
* VirtualDoamin
  - Resource Agent for domains managed.
  - I'm going to post this RA to the appropriate community
    (https://github.com/ClusterLabs/resource-agents).
* vm-stonith
  - STONITH plugin (External STONITH module) for VM.
  - I'm going to post this plugin to the appropriate community
    (http://hg.linux-ha.org/glue/).
* overview.png
  - figure of the overview.
* fence_virt.conf
  - sample configuration.
* host.cli, mon-host.txt
  - sample configuration file of a host cluster,
    and mon-host.txt is an output of the crm_mon command.
* VM.cli, mon-VM.txt
  - sample configuration file of a VM cluster,
    and mon-VM.txt is an output of the crm_mon command.

Best Regards,
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pm-fence_backend_for_pacemaker.patch
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: VirtualDomain
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment-0001.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: vm-stonith
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment-0002.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: overview.png
Type: image/png
Size: 32112 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment.png>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fence_virt.conf
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment.conf>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: host.cli
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment-0003.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mon-host.txt
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: VM.cli
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment-0004.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mon-VM.txt
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20110920/e3e2a0c5/attachment-0001.txt>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker
  2011-09-20  7:40 [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker Kazunori INOUE
@ 2011-10-26  0:54 ` Lon Hohberger
  2011-10-28  9:09   ` Kazunori INOUE
  2012-02-07 23:18 ` Lon Hohberger
  1 sibling, 1 reply; 5+ messages in thread
From: Lon Hohberger @ 2011-10-26  0:54 UTC (permalink / raw)
  To: cluster-devel.redhat.com

On 09/20/2011 03:40 AM, Kazunori INOUE wrote:
> Hi,
> 
> I created the backend "pm-fence" which has met the following
> configurations / requirements.
> - Both hosts and VMs, cluster (Pacemaker) have been configured.
>    * This backend has STONITH (fencing) function of the VM cluster.
> - The VMs are managed as resources (RA is VirtualDomain) by the host cluster.
>    * In this configuration, in order to stop a VM,
>      it is necessary to stop the resource through the host cluster.
>      When the VM was stopped without through the host cluster
>      (e.g., run the 'virsh destory'), the host cluster considers that
>      VM resource failed.
> 

This patch is good, but the server/Makefile.in needs to use pkg-config
--cflags / --libs glib-2.0 rather than static definitions.  I have
included an updated patch.

Otherwise, I do like this patch quite a lot.

The only question I had is why there needs to be an external STONITH
plugin; I was of the impression that fence_virt and fence_xvm work out
of the box with Pacemaker 1.1.x.  That doesn't affect this particular
patch, as far as I can tell (it looks like just a glue wrapper between
pacemaker and fence_virt itself).

-- Lon
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-backend-plugin-for-Pacemaker.patch
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20111025/90d12774/attachment.ksh>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker
  2011-10-26  0:54 ` Lon Hohberger
@ 2011-10-28  9:09   ` Kazunori INOUE
  2011-11-22  9:29     ` Kazunori INOUE
  0 siblings, 1 reply; 5+ messages in thread
From: Kazunori INOUE @ 2011-10-28  9:09 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi, Lon

(2011/10/26 9:54), Lon Hohberger wrote:
> On 09/20/2011 03:40 AM, Kazunori INOUE wrote:
>> Hi,
>>
>> I created the backend "pm-fence" which has met the following
>> configurations / requirements.
>> - Both hosts and VMs, cluster (Pacemaker) have been configured.
>>     * This backend has STONITH (fencing) function of the VM cluster.
>> - The VMs are managed as resources (RA is VirtualDomain) by the host cluster.
>>     * In this configuration, in order to stop a VM,
>>       it is necessary to stop the resource through the host cluster.
>>       When the VM was stopped without through the host cluster
>>       (e.g., run the 'virsh destory'), the host cluster considers that
>>       VM resource failed.
>>
> 
> This patch is good, but the server/Makefile.in needs to use pkg-config
> --cflags / --libs glib-2.0 rather than static definitions.  I have
> included an updated patch.
> 
OK. But please correct the target of 'pkg-config -libs' to ncurses.

# diff 0001-backend-plugin-for-Pacemaker.patch mod
64c64
< +PACEMAKER_LIBS=-lcib -lpe_status `pkg-config --libs glib-2.0`
---
> +PACEMAKER_LIBS=-lcib -lpe_status `pkg-config --libs ncurses`
#

When glib-2.0 is the target, it fail in load.

# pkg-config --libs glib-2.0
-lglib-2.0
#
# fence_virtd -d99 -F
   :
Loading plugin from /DEV/fence-virt/plugins/pm-fence.so
Could not dlopen /DEV/fence-virt/plugins/pm-fence.so:
/usr/lib64/libpe_status.so.2: undefined symbol: stdscr

> Otherwise, I do like this patch quite a lot.
> 
> The only question I had is why there needs to be an external STONITH
> plugin; I was of the impression that fence_virt and fence_xvm work out
> of the box with Pacemaker 1.1.x.  That doesn't affect this particular
We do not know how to do it...

> patch, as far as I can tell (it looks like just a glue wrapper between
> pacemaker and fence_virt itself).
> 
That's right. The purpose of this STONITH plugin is to adapt
the request from a pacemaker to usage of fence_virt/fence_xvm.

Best Regards,
Kazunori INOUE



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker
  2011-10-28  9:09   ` Kazunori INOUE
@ 2011-11-22  9:29     ` Kazunori INOUE
  0 siblings, 0 replies; 5+ messages in thread
From: Kazunori INOUE @ 2011-11-22  9:29 UTC (permalink / raw)
  To: cluster-devel.redhat.com

(11.10.28 18:09), Kazunori INOUE wrote:
> Hi, Lon
> 
> (2011/10/26 9:54), Lon Hohberger wrote:
>> On 09/20/2011 03:40 AM, Kazunori INOUE wrote:
>>> Hi,
>>>
>>> I created the backend "pm-fence" which has met the following
>>> configurations / requirements.
>>> - Both hosts and VMs, cluster (Pacemaker) have been configured.
>>>      * This backend has STONITH (fencing) function of the VM cluster.
>>> - The VMs are managed as resources (RA is VirtualDomain) by the host cluster.
>>>      * In this configuration, in order to stop a VM,
>>>        it is necessary to stop the resource through the host cluster.
>>>        When the VM was stopped without through the host cluster
>>>        (e.g., run the 'virsh destory'), the host cluster considers that
>>>        VM resource failed.
>>>
>>
>> This patch is good, but the server/Makefile.in needs to use pkg-config
>> --cflags / --libs glib-2.0 rather than static definitions.  I have
>> included an updated patch.
>>
> OK. But please correct the target of 'pkg-config -libs' to ncurses.
> 
> # diff 0001-backend-plugin-for-Pacemaker.patch mod
> 64c64
> <  +PACEMAKER_LIBS=-lcib -lpe_status `pkg-config --libs glib-2.0`
> ---
>> +PACEMAKER_LIBS=-lcib -lpe_status `pkg-config --libs ncurses`
> #
> 
> When glib-2.0 is the target, it fail in load.
> 
> # pkg-config --libs glib-2.0
> -lglib-2.0
> #
> # fence_virtd -d99 -F
>     :
> Loading plugin from /DEV/fence-virt/plugins/pm-fence.so
> Could not dlopen /DEV/fence-virt/plugins/pm-fence.so:
> /usr/lib64/libpe_status.so.2: undefined symbol: stdscr
> 
>> Otherwise, I do like this patch quite a lot.
>>
>> The only question I had is why there needs to be an external STONITH
>> plugin; I was of the impression that fence_virt and fence_xvm work out
>> of the box with Pacemaker 1.1.x.  That doesn't affect this particular
> We do not know how to do it...
> 
>> patch, as far as I can tell (it looks like just a glue wrapper between
>> pacemaker and fence_virt itself).
>>
> That's right. The purpose of this STONITH plugin is to adapt
> the request from a pacemaker to usage of fence_virt/fence_xvm.
> 
> Best Regards,
> Kazunori INOUE

Hi,

Is there a plan to merge this patch?
To that end, what do I need to do?

Regards,
Kazunori INOUE



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker
  2011-09-20  7:40 [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker Kazunori INOUE
  2011-10-26  0:54 ` Lon Hohberger
@ 2012-02-07 23:18 ` Lon Hohberger
  1 sibling, 0 replies; 5+ messages in thread
From: Lon Hohberger @ 2012-02-07 23:18 UTC (permalink / raw)
  To: cluster-devel.redhat.com

On 09/20/2011 03:40 AM, Kazunori INOUE wrote:

Merged in to 0.3.0

-- Lon



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-02-07 23:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-20  7:40 [Cluster-devel] [fence-virt PATCH] backend plugin for Pacemaker Kazunori INOUE
2011-10-26  0:54 ` Lon Hohberger
2011-10-28  9:09   ` Kazunori INOUE
2011-11-22  9:29     ` Kazunori INOUE
2012-02-07 23:18 ` Lon Hohberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.