[pve-devel] [PATCH v4 storage 0/6] import/export api
Wolfgang Bumiller
w.bumiller at proxmox.com
Fri May 12 11:56:05 CEST 2017
Changes to v3:
* zfs import improvements:
- assert a volume doesn't exist on non-incremental imports (so that
destroying them on failure makes sense)
- assert base snapshots exist on incremental imports
* import/export methods: drop dying elsif paths for raw paths (since
we most likely don't want to support them)
* realizing that volume_transfer_formats() doesn't require the base
snapshot to actually exist it was moved back up to before creating
the initial snapshot - shortening the migration code a bit in patch
6.
- Previous versions:
Changes to v2:
* replaced `pvesm delsnapshot` with a -snapshot parameter for
`pvesm free`.
* stricter API parameter types
Note that for snapshots we used a length-limited `pve-configid` in
pve-container and qemu-server (which we should put into JSONSchema
since they each define their own) - but for storage migration the
'__migration__' snapshot name is not a valid pve-configid, so
instead I just added a pattern representing a "limited enough"
superset to cover it all.
* volume_transfer_formats() now takes both source and
destinationvolume ids
* fixed typos
Still meditating on whether -with-snapshots is useful/required/worthless
in the import path... (but we can still remove it later...).
Changes to v1:
* rebased onto current master
* export: don't unlink on success...
- Original cover letter:
This is a first (working) draft of an import/export interface.
The idea is to provide the storage-side functionality required and
implemented twice - both by storage_migrate() and the replication patch
set's volume_send() plugin call.
The third patch replaces storage_migrate()'s ZFS case with an almost
storage agnostic implementation. The patches following it add transfer
format queries and the 6th patch then turns this into a storage type
independent implementation.
Wolfgang Bumiller (6):
pvesm: import/export commands
free: added snapshot parameter
migrate: use pvesm import/export for zfs
migrate: snapshot parameter for incremental transfer
api: add import/export format querying
migrate: query transfer stream formats
PVE/API2/Storage/Content.pm | 13 +++-
PVE/CLI/pvesm.pm | 139 +++++++++++++++++++++++++++++++++++++++++++
PVE/Storage.pm | 99 +++++++++++++++++++++++++-----
PVE/Storage/Plugin.pm | 21 +++++++
PVE/Storage/ZFSPoolPlugin.pm | 78 ++++++++++++++++++++++++
5 files changed, 334 insertions(+), 16 deletions(-)
--
2.11.0
More information about the pve-devel
mailing list