[pve-devel] [PATCH] fix #6315: Add a description field for storage
Alexander Abraham
a.abraham at proxmox.com
Mon Jul 14 14:54:40 CEST 2025
A description field was added to the schema for
different types of storage inside their respective
plugins.
Signed-off-by: Alexander Abraham <a.abraham at proxmox.com>
---
src/PVE/Storage/BTRFSPlugin.pm | 2 ++
src/PVE/Storage/CIFSPlugin.pm | 2 ++
src/PVE/Storage/CephFSPlugin.pm | 2 ++
src/PVE/Storage/DirPlugin.pm | 6 ++++++
src/PVE/Storage/ESXiPlugin.pm | 2 ++
src/PVE/Storage/ISCSIDirectPlugin.pm | 2 ++
src/PVE/Storage/ISCSIPlugin.pm | 2 ++
src/PVE/Storage/LVMPlugin.pm | 2 ++
src/PVE/Storage/LvmThinPlugin.pm | 2 ++
src/PVE/Storage/NFSPlugin.pm | 2 ++
src/PVE/Storage/PBSPlugin.pm | 2 ++
src/PVE/Storage/RBDPlugin.pm | 2 ++
src/PVE/Storage/ZFSPlugin.pm | 2 ++
src/PVE/Storage/ZFSPoolPlugin.pm | 2 ++
14 files changed, 32 insertions(+)
diff --git a/src/PVE/Storage/BTRFSPlugin.pm b/src/PVE/Storage/BTRFSPlugin.pm
index 8c79ea4..519bb5f 100644
--- a/src/PVE/Storage/BTRFSPlugin.pm
+++ b/src/PVE/Storage/BTRFSPlugin.pm
@@ -31,6 +31,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [
{
images => 1,
@@ -64,6 +65,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
path => { fixed => 1 },
nodes => { optional => 1 },
shared => { optional => 1 },
diff --git a/src/PVE/Storage/CIFSPlugin.pm b/src/PVE/Storage/CIFSPlugin.pm
index c1441e9..cfe084f 100644
--- a/src/PVE/Storage/CIFSPlugin.pm
+++ b/src/PVE/Storage/CIFSPlugin.pm
@@ -98,6 +98,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [
{
images => 1,
@@ -146,6 +147,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
path => { fixed => 1 },
'content-dirs' => { optional => 1 },
server => { fixed => 1 },
diff --git a/src/PVE/Storage/CephFSPlugin.pm b/src/PVE/Storage/CephFSPlugin.pm
index 67c79aa..78c933b 100644
--- a/src/PVE/Storage/CephFSPlugin.pm
+++ b/src/PVE/Storage/CephFSPlugin.pm
@@ -116,6 +116,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content =>
[{ vztmpl => 1, iso => 1, backup => 1, snippets => 1, import => 1 }, { backup => 1 }],
'sensitive-properties' => { keyring => 1 },
@@ -138,6 +139,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
path => { fixed => 1 },
'content-dirs' => { optional => 1 },
monhost => { optional => 1 },
diff --git a/src/PVE/Storage/DirPlugin.pm b/src/PVE/Storage/DirPlugin.pm
index 10e4f70..7e2c9c0 100644
--- a/src/PVE/Storage/DirPlugin.pm
+++ b/src/PVE/Storage/DirPlugin.pm
@@ -24,6 +24,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [
{
images => 1,
@@ -44,6 +45,10 @@ sub plugindata {
sub properties {
return {
+ description => {
+ description => "The description for the storage to be added.",
+ type => "string"
+ },
path => {
description => "File system path.",
type => 'string',
@@ -79,6 +84,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
path => { fixed => 1 },
'content-dirs' => { optional => 1 },
nodes => { optional => 1 },
diff --git a/src/PVE/Storage/ESXiPlugin.pm b/src/PVE/Storage/ESXiPlugin.pm
index ab5242d..fdd70b8 100644
--- a/src/PVE/Storage/ESXiPlugin.pm
+++ b/src/PVE/Storage/ESXiPlugin.pm
@@ -29,6 +29,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ import => 1 }, { import => 1 }],
format => [{ raw => 1, qcow2 => 1, vmdk => 1 }, 'raw'],
'sensitive-properties' => { password => 1 },
@@ -48,6 +49,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
nodes => { optional => 1 },
shared => { optional => 1 },
disable => { optional => 1 },
diff --git a/src/PVE/Storage/ISCSIDirectPlugin.pm b/src/PVE/Storage/ISCSIDirectPlugin.pm
index 9b7f77c..072a95e 100644
--- a/src/PVE/Storage/ISCSIDirectPlugin.pm
+++ b/src/PVE/Storage/ISCSIDirectPlugin.pm
@@ -64,6 +64,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ images => 1, none => 1 }, { images => 1 }],
select_existing => 1,
'sensitive-properties' => {},
@@ -72,6 +73,7 @@ sub plugindata {
sub options {
return {
+ description => { optional => 1 },
portal => { fixed => 1 },
target => { fixed => 1 },
nodes => { optional => 1 },
diff --git a/src/PVE/Storage/ISCSIPlugin.pm b/src/PVE/Storage/ISCSIPlugin.pm
index 7691ec6..71a1dfa 100644
--- a/src/PVE/Storage/ISCSIPlugin.pm
+++ b/src/PVE/Storage/ISCSIPlugin.pm
@@ -334,6 +334,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ images => 1, none => 1 }, { images => 1 }],
select_existing => 1,
'sensitive-properties' => {},
@@ -356,6 +357,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
portal => { fixed => 1 },
target => { fixed => 1 },
nodes => { optional => 1 },
diff --git a/src/PVE/Storage/LVMPlugin.pm b/src/PVE/Storage/LVMPlugin.pm
index 1a992e8..484677f 100644
--- a/src/PVE/Storage/LVMPlugin.pm
+++ b/src/PVE/Storage/LVMPlugin.pm
@@ -275,6 +275,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ images => 1, rootdir => 1 }, { images => 1 }],
'sensitive-properties' => {},
};
@@ -309,6 +310,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
vgname => { fixed => 1 },
nodes => { optional => 1 },
shared => { optional => 1 },
diff --git a/src/PVE/Storage/LvmThinPlugin.pm b/src/PVE/Storage/LvmThinPlugin.pm
index c244c91..f16a6f8 100644
--- a/src/PVE/Storage/LvmThinPlugin.pm
+++ b/src/PVE/Storage/LvmThinPlugin.pm
@@ -30,6 +30,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ images => 1, rootdir => 1 }, { images => 1, rootdir => 1 }],
'sensitive-properties' => {},
};
@@ -47,6 +48,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
thinpool => { fixed => 1 },
vgname => { fixed => 1 },
nodes => { optional => 1 },
diff --git a/src/PVE/Storage/NFSPlugin.pm b/src/PVE/Storage/NFSPlugin.pm
index 65c5e11..08106b1 100644
--- a/src/PVE/Storage/NFSPlugin.pm
+++ b/src/PVE/Storage/NFSPlugin.pm
@@ -53,6 +53,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [
{
images => 1,
@@ -87,6 +88,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
path => { fixed => 1 },
'content-dirs' => { optional => 1 },
server => { fixed => 1 },
diff --git a/src/PVE/Storage/PBSPlugin.pm b/src/PVE/Storage/PBSPlugin.pm
index 00170f5..02f7097 100644
--- a/src/PVE/Storage/PBSPlugin.pm
+++ b/src/PVE/Storage/PBSPlugin.pm
@@ -29,6 +29,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ backup => 1, none => 1 }, { backup => 1 }],
'sensitive-properties' => {
'encryption-key' => 1,
@@ -61,6 +62,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
server => { fixed => 1 },
datastore => { fixed => 1 },
namespace => { optional => 1 },
diff --git a/src/PVE/Storage/RBDPlugin.pm b/src/PVE/Storage/RBDPlugin.pm
index c0bbe2c..347275d 100644
--- a/src/PVE/Storage/RBDPlugin.pm
+++ b/src/PVE/Storage/RBDPlugin.pm
@@ -382,6 +382,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ images => 1, rootdir => 1 }, { images => 1 }],
'sensitive-properties' => { keyring => 1 },
};
@@ -428,6 +429,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
nodes => { optional => 1 },
disable => { optional => 1 },
monhost => { optional => 1 },
diff --git a/src/PVE/Storage/ZFSPlugin.pm b/src/PVE/Storage/ZFSPlugin.pm
index f0fa522..d404fe5 100644
--- a/src/PVE/Storage/ZFSPlugin.pm
+++ b/src/PVE/Storage/ZFSPlugin.pm
@@ -174,6 +174,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ images => 1 }, { images => 1 }],
'sensitive-properties' => {},
};
@@ -209,6 +210,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
nodes => { optional => 1 },
disable => { optional => 1 },
portal => { fixed => 1 },
diff --git a/src/PVE/Storage/ZFSPoolPlugin.pm b/src/PVE/Storage/ZFSPoolPlugin.pm
index 713d26f..e9c9aa0 100644
--- a/src/PVE/Storage/ZFSPoolPlugin.pm
+++ b/src/PVE/Storage/ZFSPoolPlugin.pm
@@ -20,6 +20,7 @@ sub type {
sub plugindata {
return {
+ description => {},
content => [{ images => 1, rootdir => 1 }, { images => 1, rootdir => 1 }],
format => [{ raw => 1, subvol => 1 }, 'raw'],
'sensitive-properties' => {},
@@ -46,6 +47,7 @@ sub properties {
sub options {
return {
+ description => { optional => 1 },
pool => { fixed => 1 },
blocksize => { optional => 1 },
sparse => { optional => 1 },
--
2.39.5
More information about the pve-devel
mailing list