zpool iostat/status -c improvements

Users can now provide their own scripts to be run
with 'zpool iostat/status -c'. User scripts should be
placed in ~/.zpool.d to be included in zpool's
default search path.

Provide a script which can be used with
'zpool iostat|status -c' that will return the type of
device (hdd, sdd, file).

Provide a script to get various values from smartctl
when using 'zpool iostat/status -c'.

Allow users to define the ZPOOL_SCRIPTS_PATH
environment variable which can be used to override
the default 'zpool iostat/status -c' search path.

Allow the ZPOOL_SCRIPTS_ENABLED environment
variable to enable or disable 'zpool status/iostat -c'
functionality.

Use the new smart script to provide the serial command.

Install /etc/sudoers.d/zfs file which contains the sudoer
rule for smartctl as a sample.

Allow 'zpool iostat/status -c' tests to run in tree.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Closes #6121 
Closes #6153
This commit is contained in:
Giuseppe Di Natale
2017-06-05 13:52:15 -04:00
committed by Brian Behlendorf
parent 92aceb2a7e
commit 099700d9df
43 changed files with 812 additions and 61 deletions
+2 -2
View File
@@ -1,2 +1,2 @@
SUBDIRS = zfs $(ZFS_INIT_SYSTEMD) $(ZFS_INIT_SYSV) $(ZFS_MODULE_LOAD)
DIST_SUBDIRS = init.d zfs systemd modules-load.d
SUBDIRS = zfs sudoers.d $(ZFS_INIT_SYSTEMD) $(ZFS_INIT_SYSV) $(ZFS_MODULE_LOAD)
DIST_SUBDIRS = init.d zfs systemd modules-load.d sudoers.d
+5
View File
@@ -0,0 +1,5 @@
sudoersddir = $(sysconfdir)/sudoers.d
sudoersd_DATA = zfs
EXTRA_DIST = \
$(top_srcdir)/etc/sudoers.d/zfs
+8
View File
@@ -0,0 +1,8 @@
##
## Allow any user to run `zpool iostat/status -c smart` in order
## to read basic SMART health statistics for a pool.
##
## CAUTION: Any syntax error introduced here will break sudo.
##
# ALL ALL = (root) NOPASSWD: /usr/sbin/smartctl -a /dev/[hsv]d[a-z0-9]*