KVM hypervisor
| Module | kvm |
No module docstring; 0/7 constant, 1/1 function, 0/1 class documented |
| Module | kvm |
No module docstring; 0/2 constant, 5/5 functions documented |
| Module | monitor |
Qemu monitor control classes |
| Module | netdev |
KVM hypervisor tap device helpers |
| Module | validation |
KVM hypervisor parameter/syntax validation helpers |
From __init__.py:
| Class | |
Undocumented |
| Class | |
KVM hypervisor interface |
| Variable | psutil |
Undocumented |
| Variable | psutil |
Undocumented |
| Function | _ |
Check if a given URL exists on the server |
| Function | _ |
Helper function to generate hvinfo of a device (disk, NIC) |
| Function | _ |
Construct the -device option string for hvinfo dict |
| Function | _ |
Helper function to generate a unique device name used by KVM |
| Function | _ |
Helper function to get the drive uri to be used in -blockdev kvm option |
| Function | _ |
Helper function to get an existing device inside the runtime file |
| Function | _with |
Wrapper used on hotplug related methods |
| Constant | _DEVICE |
Undocumented |
| Constant | _DEVICE |
Undocumented |
| Constant | _DEVICE |
Undocumented |
| Constant | _DEVICE |
Undocumented |
| Constant | _FIND |
Undocumented |
| Constant | _HOTPLUGGABLE |
Undocumented |
| Constant | _KVM |
Undocumented |
| Constant | _KVM |
Undocumented |
| Constant | _KVM |
Undocumented |
| Constant | _KVM |
Undocumented |
| Constant | _MIGRATION |
Undocumented |
| Constant | _PCI |
Undocumented |
| Constant | _POSTCOPY |
Undocumented |
| Constant | _RUNTIME |
Undocumented |
| Constant | _RUNTIME |
Undocumented |
| Constant | _SCSI |
Undocumented |
Helper function to generate hvinfo of a device (disk, NIC)
hvinfo will hold all necessary info for generating the -device QEMU option. We have two main buses: a PCI bus and a SCSI bus (created by a SCSI controller on the PCI bus).
In case of PCI devices we add them on a free PCI slot (addr) on the first PCI bus (pci.0), and in case of SCSI devices we decide to put each disk on a different SCSI target (scsi-id) on the first SCSI bus (scsi.0).
| Parameters | |
| dev | either HOTPLUG_TARGET_DISK or HOTPLUG_TARGET_NIC |
| kvm | the id of the device |
| hv | either disk_type or nic_type hvparam |
| bus | the current slots of the first PCI and SCSI buses |
| Returns | |
| dict | dict including all necessary info (driver, id, bus and bus location) for generating a -device QEMU option for either a disk or a NIC |
Construct the -device option string for hvinfo dict
PV disk: virtio-blk-pci,id=disk-1234,bus=pci.0,addr=0x9 PV NIC: virtio-net-pci,id=nic-1234,bus=pci.0,addr=0x9 SG disk: scsi-generic,id=disk-1234,bus=scsi.0,channel=0,scsi-id=1,lun=0
| Parameters | |
| hvinfo:dict | dictionary created by _GenerateDeviceHVInfo() |
| Returns | |
| string | The constructed string to be passed along with a -device option |
Helper function to generate a unique device name used by KVM
QEMU monitor commands use names to identify devices. Since the UUID is too long for a device ID (36 chars vs. 30), we choose to use only the part until the third '-' with a disk/nic prefix. For example if a disk has UUID '932df160-7a22-4067-a566-7e0ca8386133' the resulting device ID would be 'disk-932df160-7a22-4067'.
| Parameters | |
| dev | device type of param dev (HOTPLUG_TARGET_DISK|NIC) |
dev:objects.Disk or objects.NIC | the device object for which we generate a kvm name |
Helper function to get the drive uri to be used in -blockdev kvm option
Invoked during startup and disk hot-add. In latter case and if no userspace access mode is used it will be overriden with /dev/fdset/<fdset-id> (see HotAddDisk() and AddFd() of QmpConnection).
| Parameters | |
disk:objects.Disk | A disk configuration object |
| link:string | The device link as returned by _SymlinkBlockDev() |
| uri:string | The drive uri as returned by _CalculateDeviceURI() |
| Returns | |
| The drive uri to use in kvm option | |
Helper function to get an existing device inside the runtime file
Used when an instance is running. Load kvm runtime file and search for a device based on its type and uuid.
| Parameters | |
| dev | device type of param dev |
device:objects.Disk or objects.NIC | the device object for which we generate a kvm name |
| runtime:tuple (cmd, nics, hvparams, disks) | the runtime data to search for the device |
| Raises | |
errors.HotplugError | in case the requested device does not exist (e.g. device has been added without --hotplug option) |
Undocumented
| Value |
|
Undocumented
| Value |
|
Undocumented
| Value |
|
Undocumented
| Value |
|
Undocumented
| Value |
|
Undocumented
| Value |
|
Undocumented
| Value |
|