From 090986b0b87864d766daec8b77632bc083c57cf4 Mon Sep 17 00:00:00 2001 From: Juan Date: Mon, 12 Nov 2018 23:45:36 +0100 Subject: [PATCH] Clone loggin improved --- debian/changelog | 2 +- vn-vmware.pl | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index 5738a3e..f5f4622 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -vn-vmware (1.0.38) stable; urgency=low +vn-vmware (1.0.39) stable; urgency=low * Initial Release. diff --git a/vn-vmware.pl b/vn-vmware.pl index 3fd86a7..69f2610 100755 --- a/vn-vmware.pl +++ b/vn-vmware.pl @@ -595,6 +595,7 @@ sub clone_machine { } $dst_tmp_name = "$dst_name.tmp"; + log_message "Machine '$dst_name' already exists, cloning to '$dst_tmp_name'."; } # If MAC is not especified, it is generated by VMWare @@ -736,8 +737,7 @@ sub clone_machine { ); if ($tmp_vm) { - power_off($tmp_vm); - $tmp_vm->Destroy(); + destroy_machine($tmp_vm); } } @@ -764,9 +764,7 @@ sub clone_machine { $vm_clone->ReconfigVM(spec => $change_spec); if ($original_vm && $overwrite) { - log_message "Deleting machine '$dst_name'."; - power_off($original_vm); - $original_vm->Destroy(); + destroy_machine($original_vm); log_message "Renaming '$dst_tmp_name' to '$dst_name'."; $vm_clone->Rename(newName => $dst_name); @@ -858,10 +856,14 @@ sub open_machine() { log_message "Found machine '$vm_name'."; } -sub power_off { +sub destroy_machine { my ($vm_power) = @_; + log_message "Deleting machine '$vm_power->{name}'."; + if ($vm_power->runtime->powerState->val eq 'poweredOn') { $vm_power->PowerOffVM(); } + + $vm_power->Destroy(); }