Cloudpods Ovs offload implemention base on SR-IOV support.
IsolatedDevices add field `OvsOffloadInterface`.
Host config add `ovs_offload_nics` to specify which nic enable ovs
offload, and removed flag `disable_sriov_nics` add flag `sriov_nics` to
configure sriov nics.
Tested Hardware: Mellanox ConnectX-5 NICs
* fix(host): convert migrate set downtime value to float64
* fix(host): live migration optimize
Qemu will send `STOP` event on start last time migration, but this
moment migration not completed. So we need wait magration complete.
Configurable Auto converge max cpu throttle.
- host agent will not allocate hugepage on init
- except hugepage, the remaining memory update to reserved memory
- default hugepage size 1024M
- host model add page size field
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
- support set live migrate bandwidth
- support cancel migrate
- live migrate enable multifd
- cancel set live migrate max downtime in init live migrate
- save and sync guest desc and start script on sync config
- init machine pci addresses on load guest desc
- load memory devices for guests not init pci addresses
- attach network set upscript and downscript
- add a guest launcher for redirect qemu stdout/stderr
- start monitor on guest script start
- fix guest hotplug cpu and mem not update desc
- describe pci controller and devices in guest desc.
- extend pcie bus and pcie-to-pci bridge and root ports, disks and
nics default attach to pci-bridge for support hotplug.
- generate pci address on guest starts
- live guest desc for running guest, and save source desc
Signed-off-by: wanyaoqi <wanyaoqi@yunion.cn>
Signed-off-by: wanyaoqi <wanyaoqi@yunion.cn>
* feat(region,host): refector guests cgroups
hostagent will create a root group cloudpods.hostagent at init.
guests group under cloudpods.hostagent. Qemu start params add '-S'
option freeze guest at first, after guest set cgroup or other initialize
hostagent will resume guest.
host support reserve cpus. if has reserved cpus, hostagent will create a
group cloudpods.hostagent.reserved, one thing to note is set host
reserved cpus must ensure host no guests running.
climc usage:
climc host-reserve-cpus --cpus '2-3,32-33' --mems '0-1' \
--disable-sched-load-balance <IDS>
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>
* hostman: disable cpuset balancer
Signed-off-by: wanyaoqi <d3lx.yq@gmail.com>