You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Rohit Yadav <ro...@shapeblue.com> on 2020/12/10 07:27:58 UTC

[ASK] ACPI-based reboot for KVM?

All,

The logic of handling VM reboot for XenServer and VMware uses hypervisor-driven reboot (ACPI based), but KVM uses a stop/start logic on the hypervisor plane which wouldn't reconfigure network devices/elements which is driven by the orchestration plane (usually during start VM workflow).

I tried going through git history and see that this has been like this since 4.0, is there a reason we're using an explicit stop/start instead of a reboot (https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReboot)? Was it because of lack of support in old distros (CentOS6, Ubuntu 16.04 and earlier) or libvirt-java/libvirt?

I've started a draft PR to explore this idea: https://github.com/apache/cloudstack/pull/4528

Current code reference: https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java#L3206

Regards.

rohit.yadav@shapeblue.comĀ 
www.shapeblue.com
3 London Bridge Street,  3rd floor, News Building, London  SE1 9SGUK
@shapeblue
  
 


Re: [ASK] ACPI-based reboot for KVM?

Posted by Wei ZHOU <us...@gmail.com>.
Hi Rohit,

As I remember, in very old OS versions (for example CentOS 5), acpi is not
supported by default, to support it, kernel modules (e.g. acpiphp and
pci_hotplug) need to be loaded manually.
In modern OS versions, acpi is built into the linux kernel  by default.
However users can still disable it in grub.
so in some conditions, stopping vm via acpi might not work. it might be
better to stop vm in another way if it does not work.

-Wei

On Thu, 10 Dec 2020 at 08:28, Rohit Yadav <ro...@shapeblue.com> wrote:

> All,
>
> The logic of handling VM reboot for XenServer and VMware uses
> hypervisor-driven reboot (ACPI based), but KVM uses a stop/start logic on
> the hypervisor plane which wouldn't reconfigure network devices/elements
> which is driven by the orchestration plane (usually during start VM
> workflow).
>
> I tried going through git history and see that this has been like this
> since 4.0, is there a reason we're using an explicit stop/start instead of
> a reboot (
> https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReboot)?
> Was it because of lack of support in old distros (CentOS6, Ubuntu 16.04 and
> earlier) or libvirt-java/libvirt?
>
> I've started a draft PR to explore this idea:
> https://github.com/apache/cloudstack/pull/4528
>
> Current code reference:
> https://github.com/apache/cloudstack/blob/master/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java#L3206
>
> Regards.
>
> rohit.yadav@shapeblue.com
> www.shapeblue.com
> 3 London Bridge Street,  3rd floor, News Building, London  SE1 9SGUK
> @shapeblue
>
>
>
>