Jan,
I'd like to point you to libstorage (
https://github.com/openSUSE/libstorage)
as a generic library for storage management. It's written in C++,
rather complete, and also provides Ruby and Python bindings. One of
the downsides is its use of Blocxx, which probably can be fixed if
needed.
See also
http://en.opensuse.org/Portal:Libstorage for a more general
overview.
SUSEs smis-providers (at
https://build.opensuse.org/package/show?package=smis-providers&projec...)
also use libstorage and can serve as a guideline.
Yeah, I know about smis-providers and libstorage. Last time I checked,
smis-providers were not very open, I was not able to find any
repository, homepage or mailing list. In addition, it's quite limited.
OpenLMI tries to be more comprehensive and manage whole Linux storage
from disks, thought partitions, RAIDs, LUKS, LVM to filesystems and
mounting. It's inspired by SMI-S, but we deviate from it where we find
it makes sense.
As for libstorage, it's former part of Yast as Blivet is former part of
Anaconda, you just have started a bit earlier :). Blivet was just easier
to use, we have experts here and more open development. I consider
Python and C++ equally bad, the best API would be of course plain C. But
nothing is perfect.
Jan