ParaMgmt - Parallel Management
This is not an official Google product. This project was created by Nic McDonald at Google.
ParaMgmt is a python package designed to ease the burden of interacting with many remote machines via SSH. The primary focus is on parallelism, good error handling, automatic connection retries, and nice viewable output. The abilities of ParaMgmt include running local commands, running remote commands, transferring files to and from remote machines, and executing local scripts on remote machines. This package includes command-line executables that wrap the functionality provided by the Python package.
ParaMgmt is compatible with both Python2.7+ and Python3.x. I personally
recommend Python3, so the following installation example will be for that. If
you insist on using Python2, substitute
python2. If you want ParaMgmt installed in both, install it in Python2 then in
Python3. The command-line executables will then use the latter. The installer
Both installations methods below will install a Python package called
as well as 6 command-line executables:
Python package manager (PIP)
sudo pip3 install git+https://github.com/google/paramgmt.git
pip3 install --user git+https://github.com/google/paramgmt.git
sudo python3 setup.py install
python3 setup.py install --user
The following command will uninstall the paramgmt Python package and the command-line executables.
sudo pip3 uninstall paramgmt
Create a hosts file
cat<<EOF >> hosts.txt tux.penguin.com myserver 192.168.200.2 EOF
This command tests the
paramgmt Python package.
python3 -m paramgmt -f hosts.txt -r 3
This command tests the command-line executables.
test/test.sh hosts.txt 3