api: osd destroy: pull out cleanup param

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2019-06-05 10:49:53 +02:00
parent 9b44d03dad
commit 5ebb945c3c

View File

@ -437,6 +437,7 @@ __PACKAGE__->register_method ({
PVE::Ceph::Tools::check_ceph_inited(); PVE::Ceph::Tools::check_ceph_inited();
my $osdid = $param->{osdid}; my $osdid = $param->{osdid};
my $cleanup = $param->{cleanup};
my $rados = PVE::RADOS->new(); my $rados = PVE::RADOS->new();
# dies if osdid is unknown # dies if osdid is unknown
@ -505,7 +506,8 @@ __PACKAGE__->register_method ({
PVE::Ceph::Tools::ceph_volume_zap($osdid, $param->{cleanup}); PVE::Ceph::Tools::ceph_volume_zap($osdid, $param->{cleanup});
}; };
warn $@ if $@; warn $@ if $@;
if ($param->{cleanup}) {
if ($cleanup) {
# try to remove pvs, but do not fail if it does not work # try to remove pvs, but do not fail if it does not work
for my $dev (keys %$devices_pvremove) { for my $dev (keys %$devices_pvremove) {
eval { run_command(['/sbin/pvremove', $dev], errfunc => {}) }; eval { run_command(['/sbin/pvremove', $dev], errfunc => {}) };
@ -513,7 +515,7 @@ __PACKAGE__->register_method ({
} }
} else { } else {
my $partitions_to_remove = []; my $partitions_to_remove = [];
if ($param->{cleanup}) { if ($cleanup) {
if (my $mp = PVE::ProcFSTools::parse_proc_mounts()) { if (my $mp = PVE::ProcFSTools::parse_proc_mounts()) {
foreach my $line (@$mp) { foreach my $line (@$mp) {
my ($dev, $path, $fstype) = @$line; my ($dev, $path, $fstype) = @$line;
@ -538,7 +540,7 @@ __PACKAGE__->register_method ({
eval { run_command(['/bin/umount', $mountpoint]); }; eval { run_command(['/bin/umount', $mountpoint]); };
if (my $err = $@) { if (my $err = $@) {
warn $err; warn $err;
} elsif ($param->{cleanup}) { } elsif ($cleanup) {
#be aware of the ceph udev rules which can remount. #be aware of the ceph udev rules which can remount.
foreach my $part (@$partitions_to_remove) { foreach my $part (@$partitions_to_remove) {
$remove_partition->($part); $remove_partition->($part);