tested and applied

> Dominik Csapak <[email protected]> hat am 30. Juni 2016 um 11:46 
> geschrieben:
> 
> 
> also introduces a force parameter to this call
> if force is true, the call destroys the ceph pool
> even when it is use
> 
> Signed-off-by: Dominik Csapak <[email protected]>
> ---
>  PVE/API2/Ceph.pm | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm
> index 58e5b35..29b57c7 100644
> --- a/PVE/API2/Ceph.pm
> +++ b/PVE/API2/Ceph.pm
> @@ -1321,6 +1321,12 @@ __PACKAGE__->register_method ({
>               description => "The name of the pool. It must be unique.",
>               type => 'string',
>           },
> +         force => {
> +             description => "If true, destroys pool even if in use",
> +             type => 'boolean',
> +             optional => 1,
> +             default => 0,
> +         }
>       },
>      },
>      returns => { type => 'null' },
> @@ -1329,6 +1335,22 @@ __PACKAGE__->register_method ({
>  
>       PVE::CephTools::check_ceph_inited();
>  
> +     # if not forced, destroy ceph pool only when no
> +     # vm disks are on it anymore
> +     if (!$param->{force}) {
> +         my $storagecfg = PVE::Storage::config();
> +         foreach my $storageid (keys %{$storagecfg->{ids}}) {
> +             my $storage = $storagecfg->{ids}->{$storageid};
> +             next if $storage->{type} ne 'rbd';
> +             next if $storage->{pool} ne $param->{name};
> +
> +             # check if any vm disks are on the pool
> +             my $res = PVE::Storage::vdisk_list($storagecfg, $storageid);
> +             die "ceph pool '$param->{name}' still in use by storage 
> '$storageid'\n"
> +                 if @{$res->{$storageid}} != 0;
> +         }
> +     }
> +
>       my $rados = PVE::RADOS->new();
>       # fixme: '--yes-i-really-really-mean-it'
>       $rados->mon_command({ 
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> pve-devel mailing list
> [email protected]
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>

_______________________________________________
pve-devel mailing list
[email protected]
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to