]>
git.proxmox.com Git - qemu-server.git/log
Dietmar Maurer [Thu, 12 Feb 2015 07:00:14 +0000 (08:00 +0100)]
fix CDROM hotplug
Dietmar Maurer [Thu, 12 Feb 2015 06:11:17 +0000 (07:11 +0100)]
cleanup error messages
Dietmar Maurer [Wed, 11 Feb 2015 05:32:40 +0000 (06:32 +0100)]
bump version to 3.3-16
Stefan Priebe [Sun, 1 Feb 2015 19:46:46 +0000 (20:46 +0100)]
QemuServer: fix wrong binding of pci root ports, bridges or switches to vfio
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
Dietmar Maurer [Tue, 10 Feb 2015 12:01:54 +0000 (13:01 +0100)]
update changelog
Wolfgang Link [Tue, 10 Feb 2015 11:59:22 +0000 (12:59 +0100)]
bug 597: hotplug fix
wrap params in dopple quotes, so spaces will accept.
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
Alexandre Derumier [Mon, 9 Feb 2015 15:47:52 +0000 (16:47 +0100)]
memory hotplug option is not hotpluggable
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Mon, 9 Feb 2015 06:05:29 +0000 (07:05 +0100)]
bump version to 3.3-15
Alexandre Derumier [Sun, 8 Feb 2015 13:53:07 +0000 (14:53 +0100)]
add foreach_dimm sub
and use it in memory hotplug and config_to_cmd
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Wed, 28 Jan 2015 06:12:11 +0000 (07:12 +0100)]
bump version to 3.3-14
Alexandre Derumier [Wed, 28 Jan 2015 05:47:24 +0000 (06:47 +0100)]
memory hotplug patch v10
This patch allow to hotplug memory dimm modules
though a new option : dimm_memory
The dimm modules are generated from a map
dimmid size dimm_memory
dimm0 512 512 100.00 0
dimm1 512 1024 50.00 1
dimm2 512 1536 33.33 2
dimm3 512 2048 25.00 3
dimm4 512 2560 20.00 0
dimm5 512 3072 16.67 1
dimm6 512 3584 14.29 2
dimm7 512 4096 12.50 3
dimm8 512 4608 11.11 0
dimm9 512 5120 10.00 1
dimm10 512 5632 9.09 2
dimm11 512 6144 8.33 3
dimm12 512 6656 7.69 0
dimm13 512 7168 7.14 1
dimm14 512 7680 6.67 2
dimm15 512 8192 6.25 3
dimm16 512 8704 5.88 0
dimm17 512 9216 5.56 1
dimm18 512 9728 5.26 2
dimm19 512 10240 5.00 3
dimm20 512 10752 4.76 0
...
dimm241 65536
3260416 2.01 1
dimm242 65536
3325952 1.97 2
dimm243 65536
3391488 1.93 3
dimm244 65536
3457024 1.90 0
dimm245 65536
3522560 1.86 1
dimm246 65536
3588096 1.83 2
dimm247 65536
3653632 1.79 3
dimm248 65536
3719168 1.76 0
dimm249 65536
3784704 1.73 1
dimm250 65536
3850240 1.70 2
dimm251 65536
3915776 1.67 3
dimm252 65536
3981312 1.65 0
dimm253 65536
4046848 1.62 1
dimm254 65536
4112384 1.59 2
dimm255 65536
4177920 1.57 3
max dimm_memory size is 4TB, which is the current qemu limit
If the dimm_memory value is not aligned on memory module, we align the dimm_memory on the next module.
vmid.conf
---------
memory: 1024
numa:1
hotplug: memmory
when hotplug memory option is enabled, the minimum memory value must be 1GB, and also numa need to be enabled.
we assign the first 1GB as static memory, splitted on each numa nodes.
The remaining memory is assigned on hotpluggable dimm devices.
The static memory need to be also 128MB aligned, to have other dimm devices aligned too.
This 128MB alignment is a linux limitation, windows can align on 2MB size.
Numa need to be aligned, as linux guest don't boot on some setup with multi sockets,
and windows need numa to be able to hotplug memory
hotplug
----
qm set <vmid> -memory X (where X is bigger than current value)
unplug (not yet implemented in qemu)
------
qm set <vmid> -memory X (where X is lower than current value)
linux guest
-----------
-acpi hotplug module should be loaded in guest
-need a recent kernel. (tested with 3.10)
can be enable automaticaly, adding:
/lib/udev/rules.d/80-hotplug-cpu-mem.rules
SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \
ATTR{online}="1"
SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \
ATTR{state}="online"
windows guest
-------------
tested with:
- windows 2012 standard
- windows 2008 enterprise/datacenter
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Tue, 27 Jan 2015 11:39:48 +0000 (12:39 +0100)]
bump version to 3.3-13
Dietmar Maurer [Tue, 27 Jan 2015 10:05:36 +0000 (11:05 +0100)]
use PVE::Tools::split_list
Dietmar Maurer [Tue, 27 Jan 2015 06:16:22 +0000 (07:16 +0100)]
hotplug config: allow to enable specific features
Dietmar Maurer [Fri, 23 Jan 2015 07:05:07 +0000 (08:05 +0100)]
bump version to 3.3-12
Alexandre Derumier [Fri, 9 Jan 2015 15:30:36 +0000 (16:30 +0100)]
enable vcpus hotplug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Fri, 9 Jan 2015 15:30:35 +0000 (16:30 +0100)]
add vcpus option
vcpus = current allocate vpus to virtual machine
maxcpus is now compute from $sockets*cores
vcpus = maxcpus if not defined
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Wed, 21 Jan 2015 09:42:43 +0000 (10:42 +0100)]
apply pending changes at vm_stop
Dietmar Maurer [Wed, 21 Jan 2015 07:53:17 +0000 (08:53 +0100)]
bump version to 3.3-11
Dietmar Maurer [Wed, 21 Jan 2015 07:52:37 +0000 (08:52 +0100)]
enable hotplug by default
Dietmar Maurer [Tue, 20 Jan 2015 10:47:11 +0000 (11:47 +0100)]
Add link_down flag to network config
Original patch by Wolfgang, adopted for new hotplug implementation.
I do not verify link status, because that patch was rejected upstream.
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Wolfgang Link [Mon, 29 Dec 2014 09:56:07 +0000 (10:56 +0100)]
Change check for better understanding!
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Dietmar Maurer [Tue, 20 Jan 2015 06:16:14 +0000 (07:16 +0100)]
bump version to 3.3-10
Kamil Trzcinski [Sat, 17 Jan 2015 12:46:32 +0000 (13:46 +0100)]
Support additional e1000 variants for VM machines
It is required for OS X on qemu
Signed-off-by: Kamil Trzcinski <ayufan@ayufan.eu>
Dietmar Maurer [Thu, 15 Jan 2015 05:23:36 +0000 (06:23 +0100)]
bump version to 3.3-9
Alexandre Derumier [Mon, 12 Jan 2015 14:32:17 +0000 (15:32 +0100)]
pending api : fix parsing 0 value
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Mon, 12 Jan 2015 14:04:31 +0000 (15:04 +0100)]
fix test for ballon hotplug
Stefan Priebe [Fri, 9 Jan 2015 05:56:15 +0000 (06:56 +0100)]
set boot strict=on to prevent booting from not listed boot devices
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
Stefan Priebe [Fri, 9 Jan 2015 05:56:14 +0000 (06:56 +0100)]
do not set romfile= if network is not in boot order
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
Dietmar Maurer [Thu, 8 Jan 2015 12:35:07 +0000 (13:35 +0100)]
bump version to 3.3-8
Dietmar Maurer [Thu, 8 Jan 2015 08:04:18 +0000 (09:04 +0100)]
fix previous commit: forgot API definitions
Dietmar Maurer [Wed, 7 Jan 2015 10:09:30 +0000 (11:09 +0100)]
update_vm api : add optionnal revert option
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Wed, 7 Jan 2015 09:02:32 +0000 (10:02 +0100)]
code cleanup
Alexandre Derumier [Fri, 2 Jan 2015 14:16:01 +0000 (15:16 +0100)]
fix balloon pending update
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Fri, 2 Jan 2015 14:16:00 +0000 (15:16 +0100)]
don't try to hotplug|unplug ide && sata drive
We can't hotplug theses devices,
so we can avoid to throw always an error when adding them
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Wed, 7 Jan 2015 07:31:32 +0000 (08:31 +0100)]
add optionnal current param to config api
config api return by default the pending config, like this it don't break current behaviour
Add an optionnal current param to get to current running config
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Wed, 7 Jan 2015 07:14:14 +0000 (08:14 +0100)]
API: list new 'pending' method
Alexandre Derumier [Fri, 2 Jan 2015 14:15:58 +0000 (15:15 +0100)]
pending : add disk hot-unplug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Tue, 25 Nov 2014 11:19:52 +0000 (12:19 +0100)]
remove unused code
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 25 Nov 2014 11:07:02 +0000 (12:07 +0100)]
vmconfig_update_net: do not call vm_deviceplug() if hotplug == 0
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 25 Nov 2014 10:37:37 +0000 (11:37 +0100)]
vmconfig_hotplug_pending : add update_disk
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 25 Nov 2014 08:13:37 +0000 (09:13 +0100)]
vm_deviceplug: always raise exception on error
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 25 Nov 2014 07:29:12 +0000 (08:29 +0100)]
vm_deviceunplug: raise expection if something fail
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 25 Nov 2014 05:58:33 +0000 (06:58 +0100)]
vmconfig_hotplug_pending : add update_net
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Mon, 24 Nov 2014 09:33:51 +0000 (10:33 +0100)]
vmconfig_hotplug_pending: correctly skip values
Do not use $skip variable (simply raise an exception)
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Mon, 24 Nov 2014 09:13:21 +0000 (10:13 +0100)]
rename qemu_bridgeadd to qemu_add_pci_bridge
To make it obvious that we add a PCI device, and not a network bridge.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Fri, 21 Nov 2014 10:25:45 +0000 (11:25 +0100)]
implement API/CLI to get pending changes
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Wed, 19 Nov 2014 11:59:02 +0000 (12:59 +0100)]
vmconfig_hotplug_pending: improve hotplug error handling
Simplify code, and allow to partially apply pending changes using
a new $selection parameter.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Wed, 19 Nov 2014 09:43:42 +0000 (10:43 +0100)]
code cleanup, delete trailing white space
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Wed, 19 Nov 2014 08:20:09 +0000 (09:20 +0100)]
vmconfig_cleanup_pending: new method to clenup setting in [PENDING]
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 18 Nov 2014 12:29:21 +0000 (13:29 +0100)]
vmconfig_hotplug_pending: implement tablet hotplug
Remove special case: now, we only hotplug if 'hotplug' is enabled.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Mon, 17 Nov 2014 08:50:31 +0000 (09:50 +0100)]
implement trivial hotplug
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Mon, 17 Nov 2014 08:37:11 +0000 (09:37 +0100)]
fix balloon consistency check (consider pending changes)
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Mon, 17 Nov 2014 06:08:44 +0000 (07:08 +0100)]
vm_start: apply pending changes
I move related helper methods into PVE::QemuServer.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Fri, 14 Nov 2014 10:45:14 +0000 (11:45 +0100)]
implement vmconfig_apply_pending for stopped VM
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Fri, 14 Nov 2014 09:33:27 +0000 (10:33 +0100)]
update_vm_api: always write into pending section
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 11 Nov 2014 06:40:07 +0000 (07:40 +0100)]
write_vm_config : write pending change
example:
$conf->{pending}->{virtio1}
$conf->{pending}->{delete} = "net0,net1"
[PENDING]
virtio1: ...
delete: net0,net1
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 11 Nov 2014 06:01:01 +0000 (07:01 +0100)]
parse_vm_config: only allow 'delete' inside [PENDING]
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 11 Nov 2014 05:52:10 +0000 (06:52 +0100)]
parse_vm_config: correctly handle $descr
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Alexandre Derumier [Thu, 30 Oct 2014 12:40:22 +0000 (13:40 +0100)]
parse_vm_config : parse pending changes
example:
[PENDING]
virtio1:...
delete:net0,net1
$conf->{pending}->{virtio1}
$conf->{pending}->{del}->{net0}
$conf->{pending}->{del}->{net1}
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Mon, 22 Dec 2014 16:24:45 +0000 (17:24 +0100)]
bump version to 3.3-7
Stefan Priebe [Sun, 21 Dec 2014 20:04:13 +0000 (21:04 +0100)]
this commit:
commit
1c0c1c17b020710fd841c399c1e147ccc10007cd
Author: Wolfgang Link <wolfgang@linksystems.org>
Date: Wed Nov 26 11:11:40 2014 +0100
shutdown by Qemu Guest Agent if the agent flag in the config is set
Important: "guest-shutdown" returns only by error a message.
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
breaks live migration as it always tries to load the vm config - even in case of $nocheck. Also it double loads the config ($conf && $config)
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
Dietmar Maurer [Wed, 10 Dec 2014 05:40:21 +0000 (06:40 +0100)]
white space cleanups
Wolfgang Link [Tue, 9 Dec 2014 10:12:56 +0000 (11:12 +0100)]
Add qga freeze in vzdump in snapshot mode
it will freeze the filesystem to provide consistents.
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Dietmar Maurer [Thu, 4 Dec 2014 12:07:59 +0000 (13:07 +0100)]
white space cleanups
Alexandre Derumier [Wed, 3 Dec 2014 15:23:48 +0000 (16:23 +0100)]
add custom numa topology support
numaX: cpus=<id[-id],memory=<mb>[[,hostnodes=<id[-id]>][,policy=<preferred|bind|interleave>]]
example:
-------
sockets:4
cores:2
memory:4096
numa: 1
numa0: cpus=0-1,memory=1024,hostnodes=0-1,policy=interleave
numa1: cpus=2-3,memory=3072,hostnodes=2,policy=bind
qemu command line
-----------------
-object memory-backend-ram,size=1024M,policy=interleave,host-nodes=0-1,id=ram-node0
-numa node,nodeid=0,cpus=0-1,memdev=ram-node0
-object memory-backend-ram,size=3072M,policy=bind,host-nodes=2,id=ram-node1
-numa node,nodeid=1,cpus=2-3,memdev=ram-node1
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Wed, 3 Dec 2014 15:23:47 +0000 (16:23 +0100)]
add numa options v3
This enable numa support inside the guest, and share the memory and cores across the sockets numa nodes.
numa: 0|1
example:
-------
sockets:2
cores:2
memory:4096
numa: 1
qemu command line
-----------------
-object memory-backend-ram,size=2048,id=ram-node0
-numa node,nodeid=0,cpus=0-1,memdev=ram-node0
-object memory-backend-ram,size=2048,id=ram-node1
-numa node,nodeid=1,cpus=2-3,memdev=ram-node1
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Thu, 4 Dec 2014 11:35:10 +0000 (12:35 +0100)]
bump version to 3.3-6
Wolfgang Link [Wed, 3 Dec 2014 14:40:33 +0000 (15:40 +0100)]
Fix in PVE::QemuServer::snapshot_create
remove the freezefs flag.
If Qemu Guest Agent flag is set in config the vm filesystem will always be frozen,
unless we save RAM.
also remove param freezefs in PVE::API2 snapshot,
because there is no use for it.
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 2 Dec 2014 12:42:51 +0000 (13:42 +0100)]
snapshot_create: fix bug from prev. commit, consider $freezefs parameter
Wolfgang Link [Tue, 2 Dec 2014 10:42:17 +0000 (11:42 +0100)]
snapshot_create: use guest-fsfreeze-freeze if possible
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Tue, 2 Dec 2014 12:03:55 +0000 (13:03 +0100)]
qmpclient: use guest-sync-delimited
Dietmar Maurer [Mon, 1 Dec 2014 08:31:43 +0000 (09:31 +0100)]
bump version to 3.3-5
Dietmar Maurer [Mon, 1 Dec 2014 08:27:01 +0000 (09:27 +0100)]
drive-mirror: avoid division by zero bug
Dietmar Maurer [Fri, 28 Nov 2014 09:42:12 +0000 (10:42 +0100)]
qmpclient: fix mux_input regex
Dietmar Maurer [Fri, 28 Nov 2014 09:32:40 +0000 (10:32 +0100)]
qmpclient: improve error handling
Dietmar Maurer [Thu, 27 Nov 2014 12:29:51 +0000 (13:29 +0100)]
simplify code by using vm_qmp_command() directly
Dietmar Maurer [Thu, 27 Nov 2014 10:56:52 +0000 (11:56 +0100)]
qmpclient: code cleanup, execute qga and qmp in parallel
Wolfgang Link [Wed, 26 Nov 2014 10:11:40 +0000 (11:11 +0100)]
shutdown by Qemu Guest Agent if the agent flag in the config is set
Important: "guest-shutdown" returns only by error a message.
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Wolfgang Link [Wed, 26 Nov 2014 10:11:39 +0000 (11:11 +0100)]
qmpclient: now if the QMP command starts with guest-+ , it will bind dynamicly to the VMID.qga socket
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Alexandre Derumier [Sun, 17 Mar 2013 15:09:07 +0000 (16:09 +0100)]
qmpclient-qga : mux_input : parse qga result
result sample:
first json is guest-sync result, second json is command result
{ "return": 123456}\n{"return": {}}
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Alexandre Derumier [Sun, 17 Mar 2013 15:09:06 +0000 (16:09 +0100)]
qmpclient-qga : build qga command
example of command:
first json is guest-sync to sync and flush the client, second json is the command
{ "execute": "guest-sync", "arguments": { "id": 123456 } }{"execute":"guest-ping"}
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Sun, 17 Mar 2013 15:09:05 +0000 (16:09 +0100)]
qmpclient-qga : do not sent qmp_capabilities for qga
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Sun, 17 Mar 2013 15:09:04 +0000 (16:09 +0100)]
qmpclient-qga : cmdid : use integer instead string
qga client use only integer as id
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Sun, 17 Mar 2013 15:09:03 +0000 (16:09 +0100)]
qmpclient-qga : add qga param to qmp_socket
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Sun, 17 Mar 2013 15:09:02 +0000 (16:09 +0100)]
qmpclient-qga : add qga option at object creation
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Sun, 17 Mar 2013 15:09:01 +0000 (16:09 +0100)]
add vm_qga_command
and reuse vm_qmp_command && qmp_socket with $qga param
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Fri, 21 Nov 2014 11:31:56 +0000 (12:31 +0100)]
code cleanups
Alexandre Derumier [Thu, 20 Nov 2014 13:54:10 +0000 (14:54 +0100)]
savevm-end : wait that savevm is finished
savevm-end is async, we need to wait that savevm is finished, before continue.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Mon, 1 Dec 2014 08:47:36 +0000 (09:47 +0100)]
serial: allow to pass arbitrary device names
Wolfgang Link [Mon, 17 Nov 2014 08:52:30 +0000 (09:52 +0100)]
Add check if host has enough real CPUs for starting VM
To prevent a Qemu CPU emualtion!
Signed-off-by: Wolfgang Link <wolfgang@linksystems.org>
Dietmar Maurer [Mon, 10 Nov 2014 07:18:39 +0000 (08:18 +0100)]
qemu_drive_mirror: cleanup, avoid code duplication
Dietmar Maurer [Mon, 10 Nov 2014 06:55:09 +0000 (07:55 +0100)]
qemu_drive_mirror: raise exception if we cannot parse $dst_volid
Dietmar Maurer [Mon, 10 Nov 2014 05:32:31 +0000 (06:32 +0100)]
bump version to 3.3-3
Dietmar Maurer [Mon, 10 Nov 2014 05:31:08 +0000 (06:31 +0100)]
delete trailing whitespace
Alexandre Derumier [Sun, 9 Nov 2014 14:13:01 +0000 (15:13 +0100)]
block-job-complete : retry if block job cannot be complete
Even if we check the busy flag, we can have sometime race condition if new write
are coming between the query-block-job and the block-job-complete.
block-job-complete throw an error "The active block job for device '%(name)' cannot be completed"
we just need to retry in this case.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Dietmar Maurer [Fri, 7 Nov 2014 14:45:56 +0000 (15:45 +0100)]
bump version to 3.3-2
Dietmar Maurer [Fri, 7 Nov 2014 14:31:56 +0000 (15:31 +0100)]
cleanup: do not entry wait loop if block-job-cancel() fails.
Alexandre Derumier [Fri, 7 Nov 2014 09:10:48 +0000 (10:10 +0100)]
drive-mirror : wait that busy eq false before block-job-complete
When the drive-mirror is at 100%, and write occurs, the busy flag can change from false->true
- 100% no new writes
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: false
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: false
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: false
- 100% new writes
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: true
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: true
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: true
- 100% no new writes
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: false
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: false
transferred:
1073741824 bytes remaining: 0 bytes total:
1073741824 bytes progression: 100.00 % busy: false
So, we need to check that busy is false before doing the block-job-complete.
Also, we force the vm to pause, if it's busy for more than 120s when drive-mirror is at 100%
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Alexandre Derumier [Fri, 7 Nov 2014 09:10:47 +0000 (10:10 +0100)]
block-job-cancel : wait that jobs is really finished
block-job-cancel is async, we need to check that job is really finished
before try to free the volume
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>