works like expected, there is some issue in the context though (comment
inline)
On 5/14/19 4:24 PM, Thomas Lamprecht wrote:
the delete parameter get's injected by the SectionConfigs
updateSchem, but we need to handle it ourself in the code
This makes the following possible:
pvesm set STORAGEID --delete property
Also the API equivalent is now possible. Adapted from the HA
managers Resource update API call.
Signed-off-by: Thomas Lamprecht <t.lampre...@proxmox.com>
---
PVE/API2/Storage/Config.pm | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/PVE/API2/Storage/Config.pm b/PVE/API2/Storage/Config.pm
index c114ddc..f5e1560 100755
--- a/PVE/API2/Storage/Config.pm
+++ b/PVE/API2/Storage/Config.pm
@@ -195,6 +195,7 @@ __PACKAGE__->register_method ({
my $storeid = extract_param($param, 'storage');
my $digest = extract_param($param, 'digest');
+ my $delete = extract_param($param, 'delete');
PVE::Storage::lock_storage_config(
sub {
@@ -208,6 +209,20 @@ __PACKAGE__->register_method ({
my $plugin = PVE::Storage::Plugin->lookup($scfg->{type});
my $opts = $plugin->check_config($storeid, $param, 0, 1);
+ if ($delete) {
+ my $options = $plugin->private()->{options}->{$scfg->{type}};
+ foreach my $k (PVE::Tools::split_list($delete)) {
+ my $d = $options->{$k} || die "no such option '$k'\n";
+ die "unable to delete required option '$k'\n" if
!$d->{optional};
+ die "unable to delete fixed option '$k'\n" if $d->{fixed};
+ die "cannot set and delete property '$k' at the same
time!\n"
+ if defined($opts->{$k});
+
+ delete $scfg->{$k};
+ }
+ }
+
+
foreach my $k (%$opts) {
here we ought to do (keys %$opts), else we use
even the values as keys...
shall i send a patch which is based on yours? can you do it as a fixup?
$scfg->{$k} = $opts->{$k};
}
_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel