diff --git a/src/cli/onevm b/src/cli/onevm index a2c568f9ce7..46e3917b4d3 100755 --- a/src/cli/onevm +++ b/src/cli/onevm @@ -1229,7 +1229,7 @@ CommandParser::CmdParser.new(ARGV) do configuration attributes are: OS = ["ARCH", "MACHINE", "KERNEL", "INITRD", "BOOTLOADER", "BOOT"] - FEATURES = ["ACPI", "PAE", "APIC", "LOCALTIME", "HYPERV", "GUEST_AGENT"] + FEATURES = ["ACPI", "PAE", "APIC", "LOCALTIME", "HYPERV", "GUEST_AGENT", "CRASH_ACTION"] INPUT = ["TYPE", "BUS"] GRAPHICS = ["TYPE", "LISTEN", "PASSWD", "KEYMAP" ] RAW = ["DATA", "DATA_VMX", "TYPE"] diff --git a/src/oca/go/src/goca/schemas/vm/keys/template.go b/src/oca/go/src/goca/schemas/vm/keys/template.go index c367c533bfd..b8d67ba4a24 100644 --- a/src/oca/go/src/goca/schemas/vm/keys/template.go +++ b/src/oca/go/src/goca/schemas/vm/keys/template.go @@ -84,6 +84,7 @@ const ( LocalTime Feature = "LOCAL_TIME" GuestAgent Feature = "GUEST_AGENT" VirtIOScsiQueues Feature = "VIRTIO_SCSI_QUEUES" + CrashAction FEATURE = "CRASH_ACTION" ) // IOGraphics define keys for the VM IO graphics diff --git a/src/oca/ruby/opennebula/virtual_machine.rb b/src/oca/ruby/opennebula/virtual_machine.rb index 0719ea8d3c7..f38ee6a86a0 100644 --- a/src/oca/ruby/opennebula/virtual_machine.rb +++ b/src/oca/ruby/opennebula/virtual_machine.rb @@ -707,7 +707,7 @@ def delete(recreate=false) # will replace the existing ones or delete it if empty. Attributes that # can be updated are: INPUT/{TYPE, BUS}; RAW/{TYPE, DATA, DATA_VMX}, # OS/{BOOT, BOOTLOADER, ARCH, MACHINE, KERNEL, INITRD}, - # FEATURES/{ACPI, APIC, PAE, LOCALTIME, HYPERV, GUEST_AGENT}, + # FEATURES/{ACPI, APIC, PAE, LOCALTIME, HYPERV, GUEST_AGENT, CRASH_ACTION}, # and GRAPHICS/{TYPE, LISTEN, PASSWD, KEYMAP} # @return [nil, OpenNebula::Error] nil in case of success, Error # otherwise diff --git a/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/os/html.hbs b/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/os/html.hbs index 4c5eb0dd758..dfadc4a71d4 100644 --- a/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/os/html.hbs +++ b/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/os/html.hbs @@ -258,6 +258,20 @@ +
+ +
diff --git a/src/vm/VirtualMachine.cc b/src/vm/VirtualMachine.cc index cfa89169d8d..b1a8da645b4 100644 --- a/src/vm/VirtualMachine.cc +++ b/src/vm/VirtualMachine.cc @@ -2743,7 +2743,7 @@ void VirtualMachine::get_public_clouds(const string& pname, set &clouds) static std::map> UPDATECONF_ATTRS = { {"OS", {"ARCH", "MACHINE", "KERNEL", "INITRD", "BOOTLOADER", "BOOT", "KERNEL_CMD", "ROOT", "SD_DISK_BUS"} }, {"FEATURES", {"PAE", "ACPI", "APIC", "LOCALTIME", "HYPERV", "GUEST_AGENT", - "VIRTIO_SCSI_QUEUES"} }, + "VIRTIO_SCSI_QUEUES", "CRASH_ACTION"} }, {"INPUT", {"TYPE", "BUS"} }, {"GRAPHICS", {"TYPE", "LISTEN", "PASSWD", "KEYMAP", "COMMAND"} }, {"RAW", {"TYPE", "DATA", "DATA_VMX"} }, diff --git a/src/vmm/LibVirtDriverKVM.cc b/src/vmm/LibVirtDriverKVM.cc index 683c1d51ea6..4fba380be75 100644 --- a/src/vmm/LibVirtDriverKVM.cc +++ b/src/vmm/LibVirtDriverKVM.cc @@ -559,6 +559,8 @@ int LibVirtDriver::deployment_description_kvm( int virtio_scsi_queues = 0; int scsi_targets_num = 0; + string crash_action = ""; + string hyperv_options = ""; vector raw; @@ -1604,6 +1606,7 @@ int LibVirtDriver::deployment_description_kvm( get_attribute(vm, host, cluster, "FEATURES", "LOCALTIME", localtime); get_attribute(vm, host, cluster, "FEATURES", "GUEST_AGENT", guest_agent); get_attribute(vm, host, cluster, "FEATURES", "VIRTIO_SCSI_QUEUES", virtio_scsi_queues); + get_attribute(vm, host, cluster, "FEATURES", "CRASH_ACTION", crash_action); if ( acpi || pae || apic || hyperv ) { @@ -1651,6 +1654,14 @@ int LibVirtDriver::deployment_description_kvm( << "\t" << endl; } + if ( !crash_action.empty() ) + { + file << "\t" << crash_action << "" << endl + << "\t" << endl + << "\t\t" << endl + << "\t" << endl; + } + if ( virtio_scsi_queues > 0 || scsi_targets_num > 1) { file << "\t" << endl diff --git a/src/vmm_mad/exec/vmm_exec_kvm.conf b/src/vmm_mad/exec/vmm_exec_kvm.conf index 68dbcb47db6..a262967b555 100644 --- a/src/vmm_mad/exec/vmm_exec_kvm.conf +++ b/src/vmm_mad/exec/vmm_exec_kvm.conf @@ -34,7 +34,7 @@ OS = [ arch = "x86_64" ] FEATURES = [ PAE = "no", ACPI = "yes", APIC = "no", HYPERV = "no", GUEST_AGENT = "no", - VIRTIO_SCSI_QUEUES = "0" ] + VIRTIO_SCSI_QUEUES = "0", CRASH_ACTION = "" ] #CPU_MODEL = [ MODEL = "host-passthrough"] DISK = [ driver = "raw" , cache = "none"]