mirror of
git://git.proxmox.com/git/pve-storage.git
synced 2024-12-22 13:34:16 +03:00
95dfa44ca1
Functionality has been added for the following storage types: * directory ones, based on the default implementation: * directory * NFS * CIFS * gluster * ZFS * (thin) LVM * Ceph A new feature `rename` has been introduced to mark which storage plugin supports the feature. Version API and AGE have been bumped. Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com> the intention of this feature is to support the following use-cases: - reassign a volume from one owning guest to another (which usually entails a rename, since the owning vmid is encoded in the volume name) - rename a volume (e.g., to use a more meaningful name instead of the auto-assigned ...-disk-123) only the former is implemented at the caller side in qemu-server/pve-container for now, but since the lower-level feature is basically the same for both, we can take advantage of the storage plugin API bump now to get the building block for this future feature in place already. adapt ApiChangelog change to fix conflicts and added more detail above Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
52 lines
2.0 KiB
Plaintext
52 lines
2.0 KiB
Plaintext
# API Versioning ChangeLog
|
|
|
|
Our API versioning contains an `APIVER` and an `APIAGE`.
|
|
The `APIAGE` is the number of versions we're backward compatible with. (iow. things got added
|
|
without breaking anything unaware of it.)
|
|
|
|
Future changes should be documented in here.
|
|
|
|
## Version 10:
|
|
|
|
* a new `rename_volume` method has been added
|
|
|
|
Storage plugins with rename support need to enable
|
|
the `rename` feature flag; e.g. in the `volume_has_feature` method.
|
|
|
|
* Replace `volume_snapshot_list` with `volume_snapshot_info`:
|
|
|
|
`volume_snapshot_list` was used exclusively by replication and currently, replication is only
|
|
allowed for the storage type `zfspool`. Thus, no external plugins should be affected by this
|
|
change and `APIAGE` is *not* reset.
|
|
|
|
`volume_snapshot_info` returns a hash with snapshot names as keys and `id` and `timestamp` data
|
|
for each snapshot, rather than just an array of snaphsot names like `volume_snapshot_list` did.
|
|
|
|
* Add `blockers` parameter to `volume_rollback_is_possible`:
|
|
|
|
The parameter *can* be used to return a list of snapshots that is currently preventing rollback.
|
|
|
|
* Replace get/update_volume_notes with generic get/update_volume_attribute
|
|
|
|
falling back to the old implementation for notes until we reset APIAGE. the
|
|
new method optionally also supports querying/setting a protected flag.
|
|
|
|
## Version 9: (AGE resets to 0):
|
|
|
|
* volume_import_formats gets a new parameter *inserted*:
|
|
|
|
Old signature:
|
|
sub($plugin, $scfg, $storeid, $volname, $base_snapshot, $with_snapshots)
|
|
New signature:
|
|
sub($plugin, $scfg, $storeid, $volname, $snapshot, $base_snapshot, $with_snapshots)
|
|
|
|
This is now the same as `volume_export_formats`.
|
|
|
|
The same goes for calls to `PVE::Storage::volume_import_formats`, which now
|
|
takes a `$snapshot` parameter in the same place.
|
|
|
|
* $with_snapshots *may* now be an array reference containing an ordered list of
|
|
snapshots, but *may* also just be a boolean, and the contained list *may* be
|
|
ignored, so it can still be treated as a boolean.
|
|
|