ClusterLabs / ClusterLabs/crmsh

Create and publish RPM package of "crmsh" for CentOS 8

Open
#588 1 comment 8 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
143
Forks
96
Avg merge
2d 6h
Merged PRs (30d)
16

Description

Hello.
For CentOS 8 there is no available "crmsh" binary RPM package ready to install.
I know there is a way to install it in CentOS 7 via OBS repository, as instructed at https://crmsh.github.io/download/, then it would be useful to have its equivalent for CentOS 8, which was a version released in 2019.
In a CentOS 8.1 test installation I got crmsh 4.2.0 manually installed from its sources, with these steps:

# crmsh is Python based, needing some dependencies via dnf
dnf install python3
dnf install python3-lxml
dnf install python3-pyyaml
dnf install make # I did not check it, but I assume it will be required later
dnf install autoconf automake # this is needed to run autogen a bit later
dnf install which # this is needed to properly detect autoconf when running autogen a bit later
# use pip for those dependencies not available in CentOS 8 repositories
pip3 install parallax
# get the crmsh sources for version 4.2.0 and install them
# with the instructions at https://github.com/ClusterLabs/crmsh#installation
cd /tmp/
wget https://github.com/ClusterLabs/crmsh/archive/4.2.0.tar.gz
tar xf 4.2.0.tar.gz
cd crmsh-4.2.0/
./autogen.sh
./configure
make
make install
# At this moment crmsh is installed, with the crm binary available
# in the system path (its full path is /usr/local/bin/crm), but I got this
# error when running it:
# ERROR: crmd exited with 127 [err: /bin/sh: crmd: command not found][out:
# But after installing "pacemaker", the error disappeared when running again the
# "crm" command. It's probably because the file /usr/libexec/pacemaker/crmd
# is provided by the pacemaker package
# pacemaker is installed with this:
dnf --enablerepo=HighAvailability install pacemaker

My desired outcomes are these:
* Have an available binary RPM to install crmsh on CentOS 8, with all its dependencies satisfied, as automatically as possible.
* Have RPM packages whenever possible, instead of using "pip" to install dependencies. This implies having an RPM package to install "parallax".
* Have those packages published in a community repository, for example in that OBS repository or a similar one.

To achieve that, I can contribute with these:
* Testing tasks.
* Maybe with creating the source RPMs. I don't have previous experience with this, but I can learn.

I hope to find help here, so please let me know your feedback.
Regards.

Contributor guide

Open the contributing guide

Research direction

Start with the CentOS 8 installation steps in the issue, the crmsh installation instructions, and the existing OBS repository referenced by the download page. Determine how the 4.2.0 source package and Python dependencies, including parallax, are currently built and published. Done means installable CentOS 8 packages from a community repository with dependencies satisfied and crm usable alongside pacemaker.

Written by the indexing model from the issue text.

Assessment

Tech stack
centos, linux, python
Domain
build-system, cli, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.