• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/workflows/H17-Jun-2021-220200

.vscode/H17-Jun-2021-66

bin/H03-May-2022-5020

contrib/H17-Jun-2021-604396

crmsh/H03-May-2022-35,08228,878

doc/H17-Jun-2021-26,79921,284

hb_report/H03-May-2022-2,4341,979

scripts/H17-Jun-2021-2,4182,129

templates/H17-Jun-2021-426310

test/H03-May-2022-22,73819,820

utils/H03-May-2022-906709

.coveragercH A D17-Jun-202167 76

.gitignoreH A D17-Jun-2021503 4440

AUTHORSH A D17-Jun-20212.1 KiB4846

COPYINGH A D17-Jun-202117.6 KiB340281

ChangeLogH A D17-Jun-202188.4 KiB1,5241,488

DockerfileH A D17-Jun-20211.6 KiB3427

Makefile.amH A D03-May-20222.8 KiB8851

NEWSH A D17-Jun-20210

README.mdH A D17-Jun-20213.7 KiB9768

TODOH A D17-Jun-2021946 3422

autogen.shH A D17-Jun-20213.6 KiB14583

configure.acH A D17-Jun-20211.9 KiB6449

crm.conf.inH A D17-Jun-20213.1 KiB118113

crmsh.spec.inH A D17-Jun-20216.8 KiB241204

data-manifestH A D17-Jun-20215.8 KiB210209

pytest.iniH A D17-Jun-202168 54

setup.pyH A D03-May-2022658 1712

tox.iniH A D17-Jun-2021500 2821

update-data-manifest.shH A D17-Jun-20211.1 KiB299

version.inH A D17-Jun-202110 21

README.md

1# crmsh
2
3[![Build Status](https://github.com/ClusterLabs/crmsh/actions/workflows/crmsh-ci.yml/badge.svg)](https://github.com/ClusterLabs/crmsh/actions/workflows/crmsh-ci.yml)
4
5
6## Introduction
7
8crmsh is a command-line interface for High-Availability cluster
9management on GNU/Linux systems, and part of the Clusterlabs
10project. It simplifies the configuration, management and
11troubleshooting of Pacemaker-based clusters, by providing a powerful
12and intuitive set of features.
13
14crmsh can function both as an interactive shell with tab completion
15and inline documentation, and as a command-line tool. It can also be
16used in batch mode to execute commands from files.
17
18## Documentation
19
20* The website for crmsh is here: [crmsh @ Github.io](http://crmsh.github.io).
21* Documentation for the latest stable release is found at the [Github.io documentation](http://crmsh.github.io) page.
22
23## Installation
24
25Crmsh is implemented in Python, and requires Python version 3.4 or
26newer. Versions of crmsh older than the 4 series ran on Python 2, so
27if you don't have access to a Python 3 interpreter, you will need to
28use one of the older releases.
29
30The GNU Autotools suite is used to configure the OCF root directory,
31the Asciidoc tool which is used to generate documentation and the
32default daemon user (usually hacluster).
33
34It then calls the python setuptools setup.py to actually process the
35Python module sources and install into the Python system site-packages
36directory.
37
38```shell
39./autogen.sh
40./configure
41make
42make install
43```
44
45## Test suites
46
47There are two sets of tests: Unit tests and regression tests.
48
49To run the unit tests, call `test/run`. This uses `nosetests` to run a
50set of test cases that don't need a full Pacemaker environment.
51
52To run the regression tests in a docker container, use the
53`test/containerized-regression-tests.sh` script. This relies on having
54access to `docker` to pull down the base image and run the regression
55test suite. The docker base image used is defined in the `Dockerfile`
56included in the repository.
57
58## Manifest
59
60```shell
61./doc: man page, source for the website and other documentation
62./crmsh: the code
63./templates: configuration templates
64./test: unit tests and regression tests
65./contrib: vim highlighting scripts and other semi-related
66           contributions
67./hb_report: log file collection and analysis tool
68```
69
70## Development
71
72The source code for crmsh is kept in a git source repository. To check
73out the latest development version, install git and run this command:
74
75```shell
76git clone https://github.com/ClusterLabs/crmsh
77```
78
79There is a git `pre-commit` hook used to update the data-manifest
80which lists all the data files to be installed. To install this, run
81
82```shell
83cp contrib/git-hook-pre-commit .git/hooks/pre-commit
84chmod +x .git/hooks/pre-commit
85```
86
87## Contributing
88
89You 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](https://build.opensuse.org/), and as soon as it gets merged, a new RPM package is built on [network:ha-clustering:Unstable](https://build.opensuse.org/project/show/network:ha-clustering:Unstable) and a `submit request` is created to the _crmsh_ package maintainers at [network:ha-clustering:Factory](https://build.opensuse.org/project/show/network:ha-clustering:Factory).
90
91The commit messages are used to create the changelog, so, please, include relevant and comprehensive messages on your commits.
92
93## Community
94
95* Bugs and issues can be reported at the [crmsh issues @ Github.com](https://github.com/clusterlabs/crmsh/issues) page.
96* Any other questions or comments can be made on the [Clusterlabs users mailing list](http://clusterlabs.org/mailman/listinfo/users).
97