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

Reply via email to