openebs / zfs-localpv

Dynamically provision Stateful Persistent Node-Local Volumes & Filesystems for Kubernetes that is integrated with a backend ZFS data storage stack.
https://openebs.io
Apache License 2.0
432 stars 104 forks source link

Driver fail to list datasets under certain circumstances #496

Open angarod opened 10 months ago

angarod commented 10 months ago

What steps did you take and what happened: Create a persistent volume claim and a persistent volume on a server that use zfs as filesystem. ZFS topology:

$ zfs list
nvme                                242K  9.20G       24K  none
nvme/openebs                        120K  9.20G       24K  none
nvme/openebs/dataset                24K   9.20G       24K  none

What did you expect to happen: PVC and PV are successfully created without error.

Anything else you would like to add: The driver cannot list datasets since depth level is hard coded to 1, which prevents the driver from reading my topology. Seems to be related to https://github.com/openebs/zfs-localpv/commit/ba0e1749ec1841bb8f9d704225e6df04787dc608. openebs-zfs-plugin E1229 09:29:32.162493 1 zfs_util.go:931] zfs: could not list zpools cmd [list -d 1 -s name -o name,guid,available -H -p]: exit status 127

Environment:

Val commented 7 months ago

@lowjoel what do you propose to meet the need for topology on several levels?

avishnu commented 1 month ago

Yes, this could be the issue. Any takers for fixing? Possible approaches could be determine the depth based on the input dataset or checking for the existence of the input dataset..