A plugin based cluster management system written in python
Project description
# pypbcms
A plugin based cluster management system written in python.
# Features
- plugin based - easily extendable
- builtin plugin syncing
- select specific nodes to execute actions on
- select by node id
- select by tags (and add/remove tags(
- select by conditions (e.g. python version, number of cores, hostname...)
- some builtin commands. Examples:
- run a command on each node or each core
- transfer a directorie and execute a command on each node or each core
- client auto-reconnect (option `-r`)
- auto-detection of server/master/primary node (options `-b`, `-i` and `-a`)
- single file (excluding optional plugins)
- Command-Shell
- pure python / no C-dependencies
# Installation
**Using pip:**
1. `pip install pypbcms`.
**Using git and `setup.py`:**
1. `git clone git@github.com:bennr01/pypbcms.git`
2. `cd pypbcms`
3. `python setup.py install`
**Without installation:**
1. Make sure you have `python`, `Twisted` and `zope.interface` installed.
2. Download [pypbcms.py](https://raw.githubusercontent.com/bennr01/pypbcms/master/pypbcms.py)
# Usage
**If installed using pip or `setup.py`:**
See `pypbcms --help`
**If not installed:**
`python /path/to/pypbcms.py --help`
*pypbcms* distinguishes between the server and the clients.
The server
- is the node all other nodes connect to
- controlls the other nodes
- launches the management shell
- does not need to be the same master/primary node other programs use as their master/primary node. It does not tell your program which master node it should use.
- is the node from which the plugins will be synced
- does not automatically launch a client on the same node.
- can broadcast its ip/port using UDP (option `-b`)
The clients:
- are the nodes on which commands will be run
- do not offer a user interface
- can automatically connect to the server (option `-a`)
A plugin based cluster management system written in python.
# Features
- plugin based - easily extendable
- builtin plugin syncing
- select specific nodes to execute actions on
- select by node id
- select by tags (and add/remove tags(
- select by conditions (e.g. python version, number of cores, hostname...)
- some builtin commands. Examples:
- run a command on each node or each core
- transfer a directorie and execute a command on each node or each core
- client auto-reconnect (option `-r`)
- auto-detection of server/master/primary node (options `-b`, `-i` and `-a`)
- single file (excluding optional plugins)
- Command-Shell
- pure python / no C-dependencies
# Installation
**Using pip:**
1. `pip install pypbcms`.
**Using git and `setup.py`:**
1. `git clone git@github.com:bennr01/pypbcms.git`
2. `cd pypbcms`
3. `python setup.py install`
**Without installation:**
1. Make sure you have `python`, `Twisted` and `zope.interface` installed.
2. Download [pypbcms.py](https://raw.githubusercontent.com/bennr01/pypbcms/master/pypbcms.py)
# Usage
**If installed using pip or `setup.py`:**
See `pypbcms --help`
**If not installed:**
`python /path/to/pypbcms.py --help`
*pypbcms* distinguishes between the server and the clients.
The server
- is the node all other nodes connect to
- controlls the other nodes
- launches the management shell
- does not need to be the same master/primary node other programs use as their master/primary node. It does not tell your program which master node it should use.
- is the node from which the plugins will be synced
- does not automatically launch a client on the same node.
- can broadcast its ip/port using UDP (option `-b`)
The clients:
- are the nodes on which commands will be run
- do not offer a user interface
- can automatically connect to the server (option `-a`)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pypbcms-1.1.1.tar.gz
(14.4 kB
view details)
Built Distribution
pypbcms-1.1.1-py2-none-any.whl
(15.5 kB
view details)
File details
Details for the file pypbcms-1.1.1.tar.gz
.
File metadata
- Download URL: pypbcms-1.1.1.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c086a45416b9c8b4e7139014fb9839552118310bce1cba6272ab7bb6ebcafea |
|
MD5 | ae810d5b3b18ee159a95c8167e37f2c3 |
|
BLAKE2b-256 | ba692f62e2dc46d7a9d4b11b98d6072eba033095d93bbdea6cd76ec41c715e1e |
File details
Details for the file pypbcms-1.1.1-py2-none-any.whl
.
File metadata
- Download URL: pypbcms-1.1.1-py2-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4a8363e146dcdebe273d75adf9d7c3a60a98a69731b82d389ba06b428332338 |
|
MD5 | 95377f8f9a3614ea69939a0393edfdbb |
|
BLAKE2b-256 | b4ae23abfc37ab1c7980767c5de1d97dcb09402cbc463d2fbc293007537c8ecc |