Skip to content

Instantly share code, notes, and snippets.

@sammcj
Last active May 23, 2016 07:30
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sammcj/9a8be565b29032bc2a9e to your computer and use it in GitHub Desktop.
Save sammcj/9a8be565b29032bc2a9e to your computer and use it in GitHub Desktop.
Request for pacemaker / cluster-glue packages

RHEL/CentOS/Fedora 7 Pacemaker Package was built without 'legacy' plugin support

'Legacy' pacemaker plugins provide useful, well tested resource providers for linux high availability / the open cluster framework (OCF), most of them are still very widely used / relied upon and are a potentially blocker for people wanting to build modern linux clusters based on RHEL/CentOS 7 and beyond.

In a perfect world RHEL/Fedora would simply build the pacemaker package with the --with stonithd flag and reinstate the cluster-glue package that was present in 6, However I know how hard it is to get those kind of changes made after a release (and probably for good reason).

  • There is only one difference when building the pacemaker package that enables this that requires no additional packages or code.
  • There are three parts to this request - they are neither complex or fraught with dependency nightmares.
  1. Provide the package pacemaker with legacy-plugins enabled when the RPM is generated.
  2. Provide the cluster-glue & cluster-glue-libs packages that are missing from RHEL/CentOS 7 but is still widely used. (Also included in the latest OpenSUSE distributions.)
  3. Provide the crmsh package that is missing in RHEL/CentOS 7 but is widely used by many tools to manage linux HA clusters.
  • Here is the link to the official pacemaker RPM spec with the --with stonithd option.

If it helps at all I am happy to provide the packages I have built / picked and we have deployed very successfully with CentOS 7.


Required Steps

  1. Ensuring pacemaker is built with legacy-plugin support simply requires building the pacemaker package with --with stonithd:
rpmbuild -ba --with stonithd pacemaker.spec
  • I've also mirrored all the pacemaker packages built --with stonithd to my RPM repo here
  1. Add the cluster-glue and cluster-glue-libs packages to the repo.
  • It's available from OpenSUSE and works with CentOS 7 (Which is what we're currently doing).
  • Version 1.0.12 or greater is required rpmfind search rpmfind package
  • I've also mirrored these to my RPM repo here
  1. Add the crmsh package to the repo:
  • It's available from OpenSUSE and works with CentOS 7 (Which is what we're currently doing).
  • Version 2.1 or greater is required rpmfind search rpmfind package

Example packages I am hosting on packagecloud

root@pm-san6:~ # yum info pacemaker
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
Name : pacemaker
Arch : x86_64
Version : 1.1.12
Release : 23.el7.centos.1
Size : 1.2 M
Repo : installed
From repo : mrmondo_pacemaker
Summary : Scalable High-Availability cluster resource manager
URL : http://www.clusterlabs.org
License : GPLv2+ and LGPLv2+
Description : Pacemaker is an advanced, scalable High-Availability cluster resource
            : manager for Corosync, CMAN and/or Linux-HA.
            :
            : It supports more than 16 node clusters with significant capabilities
            : for managing resources and dependencies.
            :
            : It will run scripts at initialization, when machines go up or down,
            : when related resources fail and can be configured to periodically check
            : resource health.
            :
            : Available rpmbuild rebuild options:
            : --with(out) : cman stonithd doc coverage profiling pre_release upstart_job
root@pm-san6:~ # yum info cluster-glue
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
Name : cluster-glue
Arch : x86_64
Version : 1.0.12
Release : 1.16.1
Size : 887 k
Repo : installed
From repo : mrmondo_pacemaker
Summary : Reusable cluster components
URL : http://www.linux-ha.org/wiki/Cluster_Glue
License : GPL-2.0+ and LGPL-2.1+
Description : A collection of common tools that are useful for writing cluster managers
            : such as Pacemaker.
            : Provides a local resource manager that understands the OCF and LSB
            : standards, and an interface to common STONITH devices.
root@pm-san6:~ # yum info crmsh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
Name : crmsh
Arch : x86_64
Version : 2.1.4
Release : 1.1
Size : 2.2 M
Repo : installed
From repo : mrmondo_pacemaker
Summary : High Availability cluster command-line interface
URL : http://crmsh.github.io
License : GPL-2.0+
Description : The crm shell is a command-line interface for High-Availability
            : cluster management on GNU/Linux systems. It simplifies the
            : configuration, management and troubleshooting of Pacemaker-based
            : clusters, by providing a powerful and intuitive set of features.
            :
            : Authors: Dejan Muhamedagic <dejan@suse.de> and many others 
@sammcj
Copy link
Author

sammcj commented Dec 15, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment