Currently, the oA backend contains a large amount of code to perform the various local storage management tasks, e.g. creating logical volumes and file systems, etc.
It might make sense to simplify the code base by replacing our home-grown routines with an existing library/framework called LibStorageMgmt.
According to the documentation, it currently supports the following features:
- List storage pools, volumes, access groups, or file systems.
- Create and delete volumes, access groups, file systems, or NFS exports.
- Grant and remove access to volumes, access groups, or initiators.
- Replicate volumes with snapshots, clones, and copies.
- Create and delete access groups and edit members of a group.
Pros: less code to maintain on our side, less effort for adding new features that are already supported by the library
Cons: it adds another external dependency and cross-distro support might be problematic