Hi all, This patch set fixes some inconsistencies between ExtStorage and the other BlockDev classes and is a first step towards disk template unification without breaking backwards compatibility.
This patch set was about to be submitted just before the stable-2.14 branch was cut, but I have been really busy lately and thus postponed it until now. Sorry for this, hope this can be included in stable-2.14. Thanks a lot, dimara PS: The qa-kvm-tiny target in the external buildbot is broken for some time now (gnt-node add fails due to an ssh key issue I think). This patch set passes the doclint target. Dimitris Aragiorgis (10): Refactor optional mechanism for ExtStorage scripts Extend ExtStorage with open/close scripts Add the 'exclusive' parameter in bdev.Open() Export the 'exclusive' parameter to ExtStorage Introduce blockdev_open RPC Add helpers for Open/Close during migration Use _CloseInstanceDisks() helper during failover Do not _GatherAndLinkBlockDevs in AcceptInstance _EnsureSecondary is no longer needed Move common code out of DrbdAttachNet doc/design-shared-storage.rst | 30 +++++++--- lib/backend.py | 52 +++++++++-------- lib/cmdlib/instance_migration.py | 54 ++++++++++++++---- lib/cmdlib/instance_storage.py | 1 - lib/objects.py | 2 + lib/rpc_defs.py | 6 +- lib/server/noded.py | 13 ++++- lib/storage/base.py | 9 ++- lib/storage/bdev.py | 6 +- lib/storage/drbd.py | 2 +- lib/storage/extstorage.py | 80 +++++++++++++++++++-------- lib/storage/filestorage.py | 2 +- lib/storage/gluster.py | 2 +- man/ganeti-extstorage-interface.rst | 50 ++++++++++++++--- src/Ganeti/Constants.hs | 16 +++++- test/py/cmdlib/instance_storage_unittest.py | 2 +- 16 files changed, 237 insertions(+), 90 deletions(-) -- 1.7.10.4