Parse output from zpool status
Project description
zpool-status
Parse output from the zpool status ZFS command in Python.
[!NOTE] OpenZFS supports JSON output since version 2.3, so this project is more or less obsolete.
About
This project contains:
- A Python module
zpool_status.pythat convertszpool statusoutput into a Python datastructure. - A Python script
zpool-statusthat serves as a drop-in replacement for thezpool statuscommand that produces JSON output.
Install
Install zpool-status using pip:
$ pip install zpool-status
Command-line interface
The zpool-status script provides a command-line interface that is identical
to the one of zpool-status(1). The only difference is that zpool-status
produces JSON output.
zpool-status [-c [script1[,script2]...]] [-igLpPstv] [-T d|u] [pool] ... [interval [count]]
[!NOTE] The
-Dand-xoptions are not supported.
Example
Suppose we get the following output from zpool status:
$ zpool status -v tank
pool: tank
state: UNAVAIL
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
see: http://www.sun.com/msg/ZFS-8000-HC
scrub: scrub completed after 0h0m with 0 errors on Tue Feb 2 13:08:42 2010
config:
NAME STATE READ WRITE CKSUM
tank UNAVAIL 0 0 0 insufficient replicas
c1t0d0 ONLINE 0 0 0
c1t1d0 UNAVAIL 4 1 0 cannot open
errors: Permanent errors have been detected in the following files:
/tank/data/aaa
/tank/data/bbb
/tank/data/ccc
The following shell command line:
$ zpool-status -v tank
is identical to the this Python code:
import json
from zpool_status import ZPool
zpool = ZPool("tank", options=["-v"])
status = zpool.get_status()
print(json.dumps(status, indent=2))
Both produce this output:
{
"pool": "tank",
"state": "UNAVAIL",
"status": "One or more devices are faulted in response to IO failures.",
"action": "Make sure the affected devices are connected, then run 'zpool clear'.",
"see": "http://www.sun.com/msg/ZFS-8000-HC",
"scrub": "scrub completed after 0h0m with 0 errors on Tue Feb 2 13:08:42 2010",
"config": [
{
"name": "tank",
"state": "UNAVAIL",
"read": 0,
"write": 0,
"cksum": 0,
"message": "insufficient replicas",
"type": "pool",
"devices": [
{
"name": "c1t0d0",
"state": "ONLINE",
"read": 0,
"write": 0,
"cksum": 0,
"type": "device"
},
{
"name": "c1t1d0",
"state": "UNAVAIL",
"read": 4,
"write": 1,
"cksum": 0,
"message": "cannot open",
"type": "device"
}
]
}
],
"errors": [
"Permanent errors have been detected in the following files:",
"",
"/tank/data/aaa",
"/tank/data/bbb",
"/tank/data/ccc"
]
}
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
File details
Details for the file zpool_status-0.2.4.tar.gz.
File metadata
- Download URL: zpool_status-0.2.4.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5be0fe36d0aae18711bfc6df68f0438998ff80535a9974f2396db4acb6893df
|
|
| MD5 |
3671bb10131888a9bf96ac9016717ddc
|
|
| BLAKE2b-256 |
0d1659ff65f17be8290b1e54a6c18b787b7f4edd797960121af7f4475b32dd11
|