Skip to content
Command-line interface for High-Availability cluster management on GNU/Linux systems.
Python Shell Gherkin Roff Vim script Makefile Other
Branch: master
Clone or download
liangxin1300 Merge pull request #524 from ClusterLabs/feature/ut-cloud-detect
Low: unittest: add unit test to detect_cloud
Latest commit c42c953 Feb 1, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode dev: Add VSCode project settings Mar 4, 2018
bin dev: crm: create limit for python3 only Oct 26, 2017
contrib high: bash_completion: Adjust for non-interactive mode(bsc#1090304) Apr 20, 2018
crmsh Low: utils: update detect_cloud pattern for aws Jan 30, 2020
doc Low: doc: update configure.set documentation Jan 20, 2020
hb_report Fix: hb_report: disable dump all tasks stack into dmesg(bsc#1158060) Dec 3, 2019
scripts medium: scripts: Set kind for order constraints, not score (bsc#1123187) Feb 7, 2019
templates medium: templates: Clearer descriptions for editing templates (boo#92… Mar 16, 2015
test Low: unittest: add unit test to detect_cloud Jan 31, 2020
utils Merge pull request #412 from vvidic/pkg-dpkg Feb 6, 2019
.coveragerc Low: unittest: replace nose with pytest Jan 17, 2020
.gitignore dev: Update .gitignore with more build artifacts Mar 4, 2018
.hgignore Dev: Added new website source Aug 15, 2013
.travis.yml Low: unittest: replace nose with pytest Jan 17, 2020
AUTHORS dev: Update AUTHORS Mar 4, 2018
COPYING build: add build and generic doc files Oct 19, 2011
ChangeLog Update ChangeLog for 4.2.0 Dec 23, 2019
Dockerfile Low: unittest: replace nose with pytest Jan 17, 2020
Makefile.am dev: hb_report: Rewrite the hb_report script completely in Python Oct 12, 2017
NEWS build: add build and generic doc files Oct 19, 2011
README.md Remove landscape.io May 15, 2019
TODO doc: Update TODO Sep 10, 2014
autogen.sh Dev: Clean up unused definitions from autotools chain Oct 4, 2013
configure.ac dev: Set version to 4.0.0 in configure.ac Nov 1, 2017
crm.conf.in dev: hb_report: fate#321640: config file for hb_report Oct 17, 2017
crmsh.spec.in Low: unittest: replace nose with pytest Jan 17, 2020
data-manifest Low: behave: functional test for configure.set subcommand Jan 20, 2020
pytest.ini Low: unittest: replace nose with pytest Jan 17, 2020
requirements.txt Low: unittest: replace nose with pytest Jan 17, 2020
setup.py dev: Make sure scripts use python3 (fate#323526) Oct 30, 2017
tox.ini Low: unittest: replace nose with pytest Jan 17, 2020
update-data-manifest.sh high: Makefile: Don't unstall hb_report using data-manifest (bsc#936026) Jun 25, 2015
version.in low: Remove build revision from version Jul 3, 2015

README.md

crmsh

Build Status

Introduction

crmsh is a command-line interface for High-Availability cluster management on GNU/Linux systems, and part of the Clusterlabs project. It simplifies the configuration, management and troubleshooting of Pacemaker-based clusters, by providing a powerful and intuitive set of features.

crmsh can function both as an interactive shell with tab completion and inline documentation, and as a command-line tool. It can also be used in batch mode to execute commands from files.

Documentation

Installation

Crmsh is implemented in Python, and requires Python version 3.4 or newer. Versions of crmsh older than the 4 series ran on Python 2, so if you don't have access to a Python 3 interpreter, you will need to use one of the older releases.

The GNU Autotools suite is used to configure the OCF root directory, the Asciidoc tool which is used to generate documentation and the default daemon user (usually hacluster).

It then calls the python setuptools setup.py to actually process the Python module sources and install into the Python system site-packages directory.

./autogen.sh
./configure
make
make install

Test suites

There are two sets of tests: Unit tests and regression tests.

To run the unit tests, call test/run. This uses nosetests to run a set of test cases that don't need a full Pacemaker environment.

To run the regression tests in a docker container, use the test/containerized-regression-tests.sh script. This relies on having access to docker to pull down the base image and run the regression test suite. The docker base image used is defined in the Dockerfile included in the repository.

Manifest

./doc: man page, source for the website and other documentation
./crmsh: the code
./templates: configuration templates
./test: unit tests and regression tests
./contrib: vim highlighting scripts and other semi-related
           contributions
./hb_report: log file collection and analysis tool

Development

The source code for crmsh is kept in a git source repository. To check out the latest development version, install git and run this command:

git clone https://github.com/ClusterLabs/crmsh

There is a git pre-commit hook used to update the data-manifest which lists all the data files to be installed. To install this, run

cp contrib/git-hook-pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

Contributing

You can contribute following the standard fork -> clone -> change -> pull request Github process for code changes. The pull request process is integrated with the openSUSE Build Service, and as soon as it gets merged, a new RPM package is built on network:ha-clustering:Unstable and a submit request is created to the crmsh package maintainers at network:ha-clustering:Factory.

The commit messages are used to create the changelog, so, please, include relevant and comprehensive messages on your commits.

Community

You can’t perform that action at this time.