diff --git a/src/flow/etc/oneflow-server.conf b/src/flow/etc/oneflow-server.conf index 38b8064336..8c83fe4483 100644 --- a/src/flow/etc/oneflow-server.conf +++ b/src/flow/etc/oneflow-server.conf @@ -30,6 +30,9 @@ :host: 127.0.0.1 :port: 2474 +# Force deletion of VMs on terminate signal +:force_deletion: true + ################################################################################ # Defaults ################################################################################ diff --git a/src/flow/lib/models/role.rb b/src/flow/lib/models/role.rb index 85729e3047..e569fe4b39 100644 --- a/src/flow/lib/models/role.rb +++ b/src/flow/lib/models/role.rb @@ -349,7 +349,9 @@ module OpenNebula rc = vm.terminate(true) if OpenNebula.is_error?(rc) - rc = vm.delete + if @@force_deletion + rc = vm.delete + end end if OpenNebula.is_error?(rc) @@ -600,6 +602,10 @@ module OpenNebula @@default_shutdown = shutdown_action end + def self.init_force_deletion(force_deletion) + @@force_deletion = force_deletion + end + def self.init_default_vm_name_template(vm_name_template) @@vm_name_template = vm_name_template end diff --git a/src/flow/oneflow-server.rb b/src/flow/oneflow-server.rb index 2c76177e48..1c3cc05443 100644 --- a/src/flow/oneflow-server.rb +++ b/src/flow/oneflow-server.rb @@ -124,6 +124,7 @@ end Role.init_default_cooldown(conf[:default_cooldown]) Role.init_default_shutdown(conf[:shutdown_action]) +Role.init_force_deletion(conf[:force_deletion]) conf[:vm_name_template] ||= DEFAULT_VM_NAME_TEMPLATE Role.init_default_vm_name_template(conf[:vm_name_template])