Build bundles of debugging information for system crashes
Project description
Clingwrap
Clingwrap is a simple debugging tool which collects information about the state of a system and stores that information in a zip file for later analysis. It was originally implemented for the Shaken Fist (https://shakenfist.com) project, but is more generally useful than that.
Clingwrap takes a configuration file (see examples/shakenfist-ci-failure.cwd for an example), and processes the list of commands in that file to produce the zip file of debugging output. The commands are specified in a simple YAML format, where a configuration file looks like this:
--
commands:
- name: Kernel version and architecture
destination: _commands/uname
shell: uname -a
- name: Installed system OS packages and versions
destination: _commands/dpkg
shell: dpkg -l
Possible commands are:
file commands: which record the contents of a file. For example:
- name: syslog
destination: var/log/syslog
file: /var/log/syslog
directory commands: which record all files in a given directory hierarchy, with a possible simple exclusion regexp. For example:
- name: Shaken Fist instances
destination: /srv/shakenfist/instances
directory: /srv/shakenfist/instances
exclude: "hd[ac-z]"
shell commands: which take a command line or script and execute them in a shell. A valid configuration is:
- name: Kernel version and architecture
destination: _commands/uname
shell: uname -a
shell_emitter commands: which run a shell script which emits further commands to execute. This is useful for finding objects and then storing information about them. A valid example is:
- name: Network namespaces
shell_emitter: |
for item in `find /var/run/netns -type f | sed 's/.*\///'`
do
echo "commands:
- name: Network interfaces (namespace $item)
destination: _commands/netns-$item/ip-link
shell: ip netns exec $item ip link
- name: Network addresses (namespace $item)
destination: _commands/netns-$item/ip-link
shell: ip netns exec $item ip addr
- name: Network routes (namespace $item)
destination: _commands/netns-$item/ip-link
shell: ip netns exec $item ip route
"
done
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clingwrap-2.1-py3-none-any.whl.
File metadata
- Download URL: clingwrap-2.1-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2e3dfde1a011081cce1163a1b7c6bd9bb1f8e313898e53e06d2e751e5845b67
|
|
| MD5 |
a13aa958f9be24a7136457fcc50e6fe8
|
|
| BLAKE2b-256 |
4fcd9537c95781452c2bf9f690ae41a5fa7be4f9d5a31f999b08bd749bffd7e8
|