Cockpit: ZFS support

Created on 20 Jan 2016  路  6Comments  路  Source: cockpit-project/cockpit

With ZFS growing as a filesystem among Linux users, it would be nice to get some basic ZFS support in Cockpit. I'm thinking about some basic Pool detection, Device Statistics and maybe some state detection (pool availability).

I'm concerned on how to implement this, because ZFS is ofcourse not a hard dependancy of Cockpit (and it shouldn't be) but all supported features of Cockpit are hard compiled or hard linked thru packages (i have to install NTFS with cockpit.. :( )

Is there a pluggable solution to only load support for specific features once package requirements have been detected?

blocked enhancement

Most helpful comment

https://github.com/optimans/cockpit-zfs-manager <- this is quite feature rich.

All 6 comments

In order to get ZFS support, it would need to be contributed to https://github.com/storaged-project/storaged/ ... that's the wrapper API we use to interact with file systems and block devices. I would suggest opening an RFE there.

Is it really necessary to have support in udisks? Could this be implemented using channel programs with JSON output?

@llamafilm : Technically it's not strictly necessary, but for a good architecture it is. zfs is obscure enough as it is (it doesn't really fit into the usual Linux storage device API -- it quite clearly got transplanted from an entirely different OS). So all these quirks should be abstracted under the standard API that desktops and cockpit uses, and that's udisks (or libblockdev underneath it). We will not add all the ZFS specific operations into cockpit directly, as that would just mean duplication to get it on the desktop as well.

https://github.com/optimans/cockpit-zfs-manager <- this is quite feature rich.

@rbg: Thanks for pointing out! It's a bit dubious, as that's just a compiled webpack,not the actual source. But they do keep up nicely, they even have search keywords in the manifest (which are a quite recent feature).

As I said this isn't something which we want to do directly in cockpit, so an external extension sounds just fine. Thanks!

Was this page helpful?
0 / 5 - 0 ratings