Hello team, I'm re-sending the ExtStorage patchset rebased on the current master and adjusted after the discussions with Iustin.
You can also pull from: http://code.grnet.gr/git/ganeti-local branch: "master-extstorage-upstream3" @iustin: As expected, patches 1/7 and 2/7 that you have already LGTMed have stayed identical. Same with patches {5,6,7}/7 (not reviewed yet). Only patches 3/7 and 4/7 have changed, by omitting all the opcode validation code and dropping the "--allow-arbit-params" option. Minor adjustments were needed for these two patches, and they are greatly simplified from the previous time. Kind Regards, Constantinos Constantinos Venetsanopoulos (7): Update the shared storage design document Implement the External Storage Interface Multiple ExtStorage Providers and ext-params Adjust LUInstanceSetParams wrt the `ext' template Add the gnt-storage client ExtStorage support in htools Add ExtStorage related man pages .gitignore | 1 + Makefile.am | 9 +- autotools/build-bash-completion | 4 + configure.ac | 12 ++ doc/design-shared-storage.rst | 204 ++++++++++++++++++---------------- htools/Ganeti/HTools/Cluster.hs | 6 + htools/Ganeti/HTools/Instance.hs | 1 + htools/Ganeti/HTools/Types.hs | 1 + htools/Ganeti/Objects.hs | 11 ++ htools/Ganeti/Types.hs | 1 + lib/backend.py | 45 ++++++++ lib/bdev.py | 381 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ lib/cli.py | 12 +- lib/client/gnt_cluster.py | 2 + lib/client/gnt_storage.py | 196 +++++++++++++++++++++++++++++++++ lib/cmdlib.py | 275 +++++++++++++++++++++++++++++++++++++++++++--- lib/constants.py | 49 ++++++++- lib/masterd/instance.py | 1 + lib/objects.py | 26 ++++- lib/opcodes.py | 10 ++ lib/pathutils.py | 2 + lib/query.py | 34 ++++++ lib/rpc_defs.py | 7 +- lib/server/noded.py | 9 ++ man/footer.rst | 11 +- man/ganeti-extstorage-interface.rst | 212 ++++++++++++++++++++++++++++++++++++ man/gnt-storage.rst | 63 +++++++++++ test/docs_unittest.py | 1 + tools/burnin | 1 + 29 files changed, 1465 insertions(+), 122 deletions(-)