Signed-off-by: Wolfgang Bumiller <w.bumil...@proxmox.com> --- ApiChangeLog | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+)
diff --git a/ApiChangeLog b/ApiChangeLog index d80bfb3..ff85ee0 100644 --- a/ApiChangeLog +++ b/ApiChangeLog @@ -57,6 +57,59 @@ Future changes should be documented in here. which can override the default format. Must be implemented when the supported formats or default format depend on the storage configuration. +* There are now 2 new content types: "vm-vol" and "ct-vol", deprecating "images" and "rootdir" + types. + + These represent VM volumes and container volumes respectively. + + Usually, the legacy type "images" should *include* the new "vm-vol" type, and the legacy type + "rootdir" should *include* the new "ct-vol" type, but *not* the other way round. See the + description of `list_images` below. + +* The `get_subdir()` method may now be passed "vm-vol" or "ct-vol". + + Ideally these should map to directories separate from "images" and "rootdir", but as long as the + behavior of the other API methods works as intended, this is not strictly necessary. + +* Add `type` parameter to `list_images`. + + If this is not set, *all* images should be returned. + + - If `undef`, all volumes should be listed, legacy as well as vm-vol/ct-vol typed. + - For "images", this should return *all* untyped volumes *and* the ones of type "vm-vol". + - For "rootdir", this should return *all* untyped volumes *and* the ones of type "ct-vol". + - For "vm-vol", only volumes expicitly allocated with type "vm-vol" should be listed. + - For "ct-vol", only volumes expicitly allocated with type "ct-vol" should be listed. + +* Add `type` parameter to `alloc_image`. + + This parameter can be "vm-vol" or "ct-vol", and the storage plugin *should* store this alongside + the volumes (this can for instance be done via a naming convention). The type passed here is the + which should be returned in `list_images` and `parse_volname`. + + Legacy plugins inevitably ignore this and create volumes of legacy types. + + Note that "images" and "rootdir" will never be passed explicitly as these are considered + deprecated. + +* Add a `vtype` entry to `list_images` return type. + + For volumes which are known to be of type "vm-vol" or "ct-vol" the plugin *must* include a `vtype` + entry containing one of these values in the returned items. + For volumes without a type (eg. volumes created by previous versions of the plugin), the field + should not be set. + +* Add `type` parameter to `clone_image`. + + If the `type` is set, transitioning from a new vtype ("vm-vol" or "ct-vol") to the old "images" or + "rootdir" types must be rejected, while transitioning *to* the new vtypes should be allowed. + + The helper `PVE::Storage::Common::is_vtype_change_allowed(from, to)` can be used for this check. + +* Add `import_type` parameter to `volume_import`. + + The behavior should be similar to `rename_volume`. + ## Version 11: * Allow declaring storage features via plugin data -- 2.47.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel