[pve-devel] [PATCH manager 2/2] api: ceph ec pools: make add_storages overridable default

Aaron Lauterer a.lauterer at proxmox.com
Fri Apr 29 11:28:59 CEST 2022


The behavior of always adding the storage config was lost in commit
e039e85. But it is more sensible to make it a default that can be
changed if needed.

Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
---
Moved the ec checks further up so we can then check storage permissions
if needed

 PVE/API2/Ceph/Pools.pm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/PVE/API2/Ceph/Pools.pm b/PVE/API2/Ceph/Pools.pm
index 4e28453c..adc2de1d 100644
--- a/PVE/API2/Ceph/Pools.pm
+++ b/PVE/API2/Ceph/Pools.pm
@@ -381,10 +381,10 @@ __PACKAGE__->register_method ({
 	properties => {
 	    node => get_standard_option('pve-node'),
 	    add_storages => {
-		description => "Configure VM and CT storage using the new pool. ".
-				"Always enabled for erasure coded pools.",
+		description => "Configure VM and CT storage using the new pool.",
 		type => 'boolean',
 		optional => 1,
+		default => "0; for erasure coded pools: 1",
 	    },
 	    'erasure-coding' => {
 		description => "Create an erasure coded pool for RBD with an ".
@@ -409,6 +409,10 @@ __PACKAGE__->register_method ({
 
 	my $rpcenv = PVE::RPCEnvironment::get();
 	my $user = $rpcenv->get_user();
+	my $rados = PVE::RADOS->new();
+
+	my $ec = ec_parse_and_check(extract_param($param, 'erasure-coding'), $rados);
+	$add_storages = 1 if $ec && !defined $add_storages;
 
 	# Ceph uses target_size_bytes
 	if (defined($param->{'target_size'})) {
@@ -429,10 +433,6 @@ __PACKAGE__->register_method ({
 	$param->{application} //= 'rbd';
 	$param->{pg_autoscale_mode} //= 'warn';
 
-	my $rados = PVE::RADOS->new();
-
-	my $ec = ec_parse_and_check(extract_param($param, 'erasure-coding'), $rados);
-
 	my $worker = sub {
 	    # reopen with longer timeout
 	    $rados = PVE::RADOS->new(timeout => PVE::Ceph::Tools::get_config('long_rados_timeout'));
-- 
2.30.2






More information about the pve-devel mailing list