Bug Reference

CLOUDSTACK-8169

Purpose

KVM storage adaptors (the agent-side code for a storage plugin) should be detected at runtime, rather than relying on source code modifications to add new adaptors. 

Architecture and Design description

A new annotation "StorageAdaptorInfo" will allow the storage developer to identify a new StorageAdaptor implementation. Then the jar can just be placed in the classpath and we can find it via reflection. The StorageAdaptorInfo annotation can house the properties required for the adaptor:

 

@StorageAdaptorInfo( storagePoolType=StoragePoolType.XYZ )
public class MyStorageAdaptor implements StorageAdaptor {

    ...

}

 

Notes

separate feature that would be useful to this feature would be if the storage plugin architecutre allowed for dynamically registering a StoragePoolType.