* [pve-devel] [PATCH manager v2] API2/Ceph: fix createpools 'add_storages' parameter
@ 2020-11-24 14:32 Dominik Csapak
2020-11-24 14:47 ` [pve-devel] applied: " Thomas Lamprecht
0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2020-11-24 14:32 UTC (permalink / raw)
To: pve-devel
by deleteing it from $ceph_param we deleted it also from
$param since it was only a reference
fix it by extracting it beforehand
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v1:
* also use $add_storages in permission check/pool name check
PVE/API2/Ceph.pm | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm
index c3a3091d..0c647489 100644
--- a/PVE/API2/Ceph.pm
+++ b/PVE/API2/Ceph.pm
@@ -16,7 +16,7 @@ use PVE::RADOS;
use PVE::RESTHandler;
use PVE::RPCEnvironment;
use PVE::Storage;
-use PVE::Tools qw(run_command file_get_contents file_set_contents);
+use PVE::Tools qw(run_command file_get_contents file_set_contents extract_param);
use PVE::API2::Ceph::OSD;
use PVE::API2::Ceph::FS;
@@ -763,34 +763,31 @@ __PACKAGE__->register_method ({
PVE::Cluster::check_cfs_quorum();
PVE::Ceph::Tools::check_ceph_configured();
- my $pool = $param->{name};
+ my $pool = extract_param($param, 'name');
+ my $node = extract_param($param, 'node');
+ my $add_storages = extract_param($param, 'add_storages');
+
my $rpcenv = PVE::RPCEnvironment::get();
my $user = $rpcenv->get_user();
- if ($param->{add_storages}) {
+ if ($add_storages) {
$rpcenv->check($user, '/storage', ['Datastore.Allocate']);
die "pool name contains characters which are illegal for storage naming\n"
if !PVE::JSONSchema::parse_storage_id($pool);
}
- my $ceph_param = \%$param;
- for my $item ('add_storages', 'name', 'node') {
- # not ceph parameters
- delete $ceph_param->{$item};
- }
-
# pool defaults
- $ceph_param->{pg_num} //= 128;
- $ceph_param->{size} //= 3;
- $ceph_param->{min_size} //= 2;
- $ceph_param->{application} //= 'rbd';
- $ceph_param->{pg_autoscale_mode} //= 'warn';
+ $param->{pg_num} //= 128;
+ $param->{size} //= 3;
+ $param->{min_size} //= 2;
+ $param->{application} //= 'rbd';
+ $param->{pg_autoscale_mode} //= 'warn';
my $worker = sub {
- PVE::Ceph::Tools::create_pool($pool, $ceph_param);
+ PVE::Ceph::Tools::create_pool($pool, $param);
- if ($param->{add_storages}) {
+ if ($add_storages) {
my $err;
eval { $add_storage->($pool, "${pool}"); };
if ($@) {
--
2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pve-devel] applied: [PATCH manager v2] API2/Ceph: fix createpools 'add_storages' parameter
2020-11-24 14:32 [pve-devel] [PATCH manager v2] API2/Ceph: fix createpools 'add_storages' parameter Dominik Csapak
@ 2020-11-24 14:47 ` Thomas Lamprecht
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2020-11-24 14:47 UTC (permalink / raw)
To: Proxmox VE development discussion, Dominik Csapak
On 24.11.20 15:32, Dominik Csapak wrote:
> by deleteing it from $ceph_param we deleted it also from
> $param since it was only a reference
>
> fix it by extracting it beforehand
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> changes from v1:
> * also use $add_storages in permission check/pool name check
>
> PVE/API2/Ceph.pm | 29 +++++++++++++----------------
> 1 file changed, 13 insertions(+), 16 deletions(-)
>
>
applied, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-11-24 14:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-24 14:32 [pve-devel] [PATCH manager v2] API2/Ceph: fix createpools 'add_storages' parameter Dominik Csapak
2020-11-24 14:47 ` [pve-devel] applied: " Thomas Lamprecht
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal