OpenStack Ansible-like tool for parallel node operations: two-way data transfer, log collection, remote command execution
883dca4cf0
This change has been requested by Dmitrii Kabanov dkabanov@mirantis.com. Now if roles is a string, it does not have to have spaces after commas. Change-Id: I8b7bae1e1f2a4955dda9440b629393f18edc6fac |
||
---|---|---|
doc/source | ||
logrotate.d | ||
specs | ||
timmy | ||
timmy_data | ||
.gitignore | ||
.gitreview | ||
.travis.yml | ||
build-rpm.sh | ||
MANIFEST.in | ||
README.md | ||
requirements-doc.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
sphinx-build.sh | ||
test-requirements.txt | ||
timmy.py | ||
tox.ini |
============= Specification
OpenStack Ansible-like tool for parallel node operations: two-way data transfer, log collection, remote command execution
- The tool is based on https://etherpad.openstack.org/p/openstack-diagnostics
- Should work fine in environments deployed by Fuel versions: 4.x, 5.x, 6.x, 7.0, 8.0, 9.0, 9.1, 9.2
- Operates non-destructively.
- Can be launched on any host within admin network, provided the fuel node IP is specified and access to Fuel and other nodes is possible via ssh from the local system.
- Parallel launch - only on the nodes that are 'online'. Some filters for nodes are also available.
- Commands (from ./cmds directory) are separated according to roles (detected automatically) by the symlinks. Thus, the command list may depend on release, roles and OS. In addition, there can be some commands that run everywhere. There are also commands that are executed only on one node according to its role, using the first node of this type they encounter.
- Modular: possible to create a special package that contains only certain required commands.
- Collects log files from the nodes using filename and timestamp filters
- Packs collected data
- Checks are implemented to prevent filesystem overfilling due to log collection, appropriate error shown.
- Can be imported into other python scripts (ex. https://github.com/f3flight/timmy-customtest) and used as a transport and structure to access node parameters known to Fuel, run commands on nodes, collect outputs, etc. with ease.