back to home

ClusterLabs / pcs

Pacemaker command line interface and GUI

263 stars
120 forks
27 issues
PythonRubyRoff

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing ClusterLabs/pcs in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/ClusterLabs/pcs)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

PCS - Pacemaker/Corosync Configuration System Pcs is a Corosync and Pacemaker configuration tool. It permits users to easily view, modify and create Pacemaker based clusters. Pcs contains pcsd, a pcs daemon, which operates as a remote server for pcs. Pcs Branches • main • This is where pcs-0.12 lives. • Clusters running Pacemaker 3.x on top of Corosync 3.x are supported. • The main development happens here. • pcs-0.11 • Clusters running Pacemaker 2.1 on top of Corosync 3.x are supported. • This branch is in maintenance mode - bugs are being fixed but only a subset of new features lands here. • pcs-0.10 • Clusters running Pacemaker 2.0 on top of Corosync 3.x are supported. • Pacemaker 2.1 is supported, if it is compiled with option. • This branch is no longer maintained. • pcs-0.9 • Clusters running Pacemaker 1.x on top of Corosync 2.x or Corosync 1.x with CMAN are supported. • This branch is no longer maintained. Dependencies These are the runtime dependencies of pcs and pcsd: • python 3.12+ • python3-cryptography • python3-dateutil 2.7.0+ • python3-lxml • python3-pycurl • python3-pyparsing 3.0.0+ • python3-tornado 6.1.0+ • dacite • ruby 3.1.0+ • killall (package psmisc) • corosync 3.x • pacemaker 3.x • certutil (package nss-tools or mozilla-nss-tools) Installation from Source Apart from the dependencies listed above, these are also required for installation: • python development files (packages python3-devel, python3-setuptools 66.1+, python3-pip, python3-wheel if python3-setuptools < 71) • ruby development files (package ruby-devel) • rubygems • rubygem bundler (package rubygem-bundler or ruby-bundler or bundler) • autoconf, automake • pkgconf, pkgconfig(booth), pkgconfig(sbd) • pacemaker-libs-devel (or libpacemaker-devel and libpacemaker3-devel) • gcc • gcc-c++ • FFI development files (package libffi-devel or libffi-dev) • printf (package coreutils) • redhat-rpm-config (if you are using Fedora) • wget (to download bundled libraries) During the installation, all required rubygems are automatically downloaded and compiled. Web UI frontend is no longer part of pcs sources. You can get it at https://github.com/ClusterLabs/pcs-web-ui. Web UI frontend can run in two modes, either as a cockpit plugin or as a standalone application served by pcsd. Specify flag for to build pcsd backend support for running the web UI frontend as a standalone application. To install pcs and pcsd run the following in terminal: **Common configure options**: • - downloads all Python dependencies which can be bundled - see macros with 3rd argument in • - downloads only dependencies (both Python and rubygems) which are not installed on the system • - build support for web UI as a standalone application If you are using GNU/Linux with systemd, it is now time to: Start pcsd and make it start on boot: Packages Currently this is built into Fedora, RHEL, CentOS and Debian and its derivates. It is likely that other Linux distributions also contain pcs packages. • Fedora package git repositories • Current Fedora .spec • Debian-HA project home page Quick Start • **Authenticate cluster nodes** Set the same password for the user on all nodes. To authenticate the nodes, run the following command on one of the nodes (replacing node1, node2, node3 with a list of nodes in your future cluster). Specify all your cluster nodes in the command. Make sure pcsd is running on all nodes. • **Create a cluster** To create a cluster run the following command on one node (replacing cluster\_name with a name of your cluster and node1, node2, node3 with a list of nodes in the cluster). and will start your cluster and configure the nodes to start the cluster on boot respectively. • **Check the cluster status** After a few moments the cluster should startup and you can get the status of the cluster. • **Add cluster resources** After this you can add stonith agents and resources: and Further Documentation ClusterLabs website is an excellent place to learn more about Pacemaker clusters. • ClusterLabs quick start • Clusters from Scratch • ClusterLabs documentation page Inquiries If you have any bug reports or feature requests please feel free to open a github issue on the pcs project. Alternatively you can use ClusterLabs users mailinglist which is also a great place to ask Pacemaker clusters related questions.