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.ya...@shapeblue.comĀ www.shapeblue.com 3 London Bridge Street, 3rd floor, News Building, London SE1 9SGUK @shapeblue