Add support for corosync based clusters in clvm

Bug #525287 reported by Ante Karamatić
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
lvm2 (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

Binary package hint: lvm2

Provided patch enables support for corosync and openais in clvm. At the moment, clvm is built with support for cman, which will be demoted to universe.

Cluster engines corosync and openais are in main and this patch adds support for those. It also adds lvm resource agent making clvm usable with pacemaker resource manager.

Tags: patch

Related branches

Revision history for this message
Ante Karamatić (ivoks) wrote :
Anzenketh (anzenketh)
Changed in lvm2 (Ubuntu):
status: New → Confirmed
Revision history for this message
Ante Karamatić (ivoks) wrote :

Previous patch was wrong. This one really adds support for all clusters.

Revision history for this message
Martin Pitt (pitti) wrote :

Some questions:

- This doesn't actually drop the cman build dependency, although the changelog and bug description say it's going to be deprecated?
- Can the changelog please point out the origin of clvmd.ra? Is that upstream?
- Is this change covered by any blueprint or similar document which gives some background about those changes? (Admittedly I don't know about openais/corosync/cman)

Thanks!

Changed in lvm2 (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Ante Karamatić (ivoks) wrote :

1) Correct, bug report and changelog were wrong.
2) It's not part of the upstream; resource agents are shell scripts for starting/stoping services. Author is Xinwei Hu, with some modifications made by me to make it usable on Ubuntu
3) This change isn't directly covered by a blueprint, but if we are replacing current cluster stack with new one, we should provide features that previous cluster stack provided. And since we don't want quietly make current clvm/cman users cry, clvm should be built with support for both old and new cluster stack (libcman, that is required for cman support, would stay in main, while cman binary would end up in universe if pacemaker related MIRs get accepted). You could use this blueprint as a guideline:

https://blueprints.edge.launchpad.net/ubuntu/+spec/server-lucid-cluster-stack

I've attached new debdiff that answers this questions.

Changed in lvm2 (Ubuntu):
status: Incomplete → New
Revision history for this message
Martin Pitt (pitti) wrote :

Thierry, can you please comment on this?

Revision history for this message
Thierry Carrez (ttx) wrote :

It is important for us to have a consistent cluster stack for lucid and this FFe is part of it. This is about adding support for extra shared storage types in clvm so it looks reasonably contained. So +1 from me on this individual issue.

My only question is how far are we currently from shipping a consistent cluster stack in lucid ? If this is the last FFe required and we are just a couple MIRs and some documentation away, then everything is alright. It's difficult to tell where we stand right now though, as the whiteboard on the cluster stack spec doesn't seem up to date.

Revision history for this message
Oliver Heinz (oheinz) wrote :

It would be great if this patch made it's way into the package. I patched the current clvm package (lvm2_2.02.54-1ubuntu4) and corosync/pacemaker support works as expected.

Revision history for this message
Dag Stenstad (dag-stenstad) wrote :

/usr/lib/ocf/resource.d/lvm2/clvmd is gone from the latest clvm package. Also, clvmd is still not built with support for corosync/openais.

Revision history for this message
Ante Karamatić (ivoks) wrote :

Dag, for this features, please take a look at:

https://edge.launchpad.net/~ubuntu-ha/+archive/lucid-cluster

Revision history for this message
Ante Karamatić (ivoks) wrote :

Dag, for this features, please take a look at:

https://edge.launchpad.net/~ubuntu-ha/+archive/lucid-cluster

This features will soon be added to packages in this repository.

Revision history for this message
Tom Ellis (tellis) wrote :

In Pacemaker you tend to run daemons like clvm as a cluster resource, not requiring the init script.

Even so... the clvmd init script also contains RHCS specific bits (checks for an existing cluster.conf file and that the cluster infrastructure is running), so fails to start on it's own, this might be an opportunity to remove these too?

Small patch attached for the init script to remove those checks.

Revision history for this message
Mark Burgo (burgo-mark) wrote :

Ante, are we any closer to having clvm without cman. In looking at the link above it still appears you need the cman packages for clvm to operate. If I am incorrect on this can you put together a quick howto as to how you got it working. It would be greatly appreciated as if I need pacemaker for other things there is no need to add another cluster stack. Pacemaker should be the only stack used

You help in this is very appreciated.

Revision history for this message
Ante Karamatić (ivoks) wrote : Re: [Bug 525287] Re: [FFE] Add support for corosync based clusters in clvm

On 06.05.2010 01:57, Mark Burgo wrote:

> Ante, are we any closer to having clvm without cman. In looking at
> the link above it still appears you need the cman packages for clvm to
> operate.

Eh? clvm depends on libcman library only. Since it's compiled with
support for both corosync and cman, you need only one of those.

Revision history for this message
Mark Burgo (burgo-mark) wrote : Re: [FFE] Add support for corosync based clusters in clvm

Thank you, I now have this operation on a set of test VM's. Will this be being moved to the general repositories for lucid or are they not going to update the system now that it has been released.

I would hate to put this into production and then find that they release a new version of one of the required packages and have everything break on us.

Thank You again

Changed in lvm2 (Ubuntu):
assignee: nobody → Dave Walker (davewalker)
importance: Undecided → High
status: New → Triaged
Revision history for this message
StefanPotyra (sistpoty) wrote :

is this still an issue for maverick? If so, your target is set to beta ;).

Changed in lvm2 (Ubuntu):
milestone: none → ubuntu-10.10-beta
Changed in lvm2 (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Scott Kitterman (kitterman) wrote :

Dropping the obsolete milestone and unsubscribing the release team. This needs to be addresses in Natty.

Changed in lvm2 (Ubuntu):
milestone: ubuntu-10.10-beta → none
tags: added: patch
Changed in lvm2 (Ubuntu):
assignee: Dave Walker (davewalker) → Andres Rodriguez (andreserl)
status: Incomplete → In Progress
summary: - [FFE] Add support for corosync based clusters in clvm
+ Add support for corosync based clusters in clvm
Revision history for this message
Andres Rodriguez (andreserl) wrote :

Attaching new debdiff.

Changed in lvm2 (Ubuntu):
status: In Progress → Confirmed
assignee: Andres Rodriguez (andreserl) → nobody
Changed in lvm2 (Ubuntu):
importance: High → Wishlist
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lvm2 - 2.02.66-4ubuntu2

---------------
lvm2 (2.02.66-4ubuntu2) natty; urgency=low

  * Add support for corosync based clusters. (LP: #525287)
    - Build clvm with support for corosync, openais and cman
    - Add and install clvmd resource agent, written by Xinwei Hu,
      slightly modified by Ante Karamatic to work on Ubuntu
 -- Andres Rodriguez <email address hidden> Fri, 14 Jan 2011 15:39:03 -0600

Changed in lvm2 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Pedro Benites (pbenites) wrote :

I install corosync , pacemaker, clvm in ubuntu 12.04, and I dont can start clvm with corosync, only with openais.
clvmd -T20 -d2 -Iopenais, start without problems
clvmd -T20 -d2 -Icorosync, not start .
these is errors:

clvmd could not connect to cluster manager
Consult syslog for more information

syslog:
CLVMD started
clvmd[3099]: Unable to create lockspace for CLVM: Success
clvmd[3099]: Can't initialise cluster interface

strace:
connect(3, {sa_family=AF_FILE, path="/var/run/lvm/clvmd.sock"}, 110) = -1 ECONNREFUSED (Connection refused)

Please, any help

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.