]> git.proxmox.com Git - qemu-server.git/log
qemu-server.git
9 years agoenable hotplug by default
Dietmar Maurer [Wed, 21 Jan 2015 07:52:37 +0000 (08:52 +0100)]
enable hotplug by default

9 years agoAdd link_down flag to network config
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>
9 years agoChange check for better understanding!
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>
9 years agobump version to 3.3-10
Dietmar Maurer [Tue, 20 Jan 2015 06:16:14 +0000 (07:16 +0100)]
bump version to 3.3-10

9 years agoSupport additional e1000 variants for VM machines
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>
9 years agobump version to 3.3-9
Dietmar Maurer [Thu, 15 Jan 2015 05:23:36 +0000 (06:23 +0100)]
bump version to 3.3-9

9 years agopending api : fix parsing 0 value
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>
9 years agofix test for ballon hotplug
Dietmar Maurer [Mon, 12 Jan 2015 14:04:31 +0000 (15:04 +0100)]
fix test for ballon hotplug

9 years agoset boot strict=on to prevent booting from not listed boot devices
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>
9 years agodo not set romfile= if network is not in boot order
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>
9 years agobump version to 3.3-8
Dietmar Maurer [Thu, 8 Jan 2015 12:35:07 +0000 (13:35 +0100)]
bump version to 3.3-8

9 years agofix previous commit: forgot API definitions
Dietmar Maurer [Thu, 8 Jan 2015 08:04:18 +0000 (09:04 +0100)]
fix previous commit: forgot API definitions

9 years agoupdate_vm api : add optionnal revert option
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>
9 years agocode cleanup
Dietmar Maurer [Wed, 7 Jan 2015 09:02:32 +0000 (10:02 +0100)]
code cleanup

9 years agofix balloon pending update
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>
9 years agodon't try to hotplug|unplug ide && sata drive
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>
9 years agoadd optionnal current param to config api
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>
9 years agoAPI: list new 'pending' method
Dietmar Maurer [Wed, 7 Jan 2015 07:14:14 +0000 (08:14 +0100)]
API: list new 'pending' method

9 years agopending : add disk hot-unplug
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>
9 years agoremove unused code
Dietmar Maurer [Tue, 25 Nov 2014 11:19:52 +0000 (12:19 +0100)]
remove unused code

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
9 years agovmconfig_update_net: do not call vm_deviceplug() if hotplug == 0
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>
9 years agovmconfig_hotplug_pending : add update_disk
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>
9 years agovm_deviceplug: always raise exception on error
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>
9 years agovm_deviceunplug: raise expection if something fail
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>
9 years agovmconfig_hotplug_pending : add update_net
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>
9 years agovmconfig_hotplug_pending: correctly skip values
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>
9 years agorename qemu_bridgeadd to qemu_add_pci_bridge
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>
9 years agoimplement API/CLI to get pending changes
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>
9 years agovmconfig_hotplug_pending: improve hotplug error handling
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>
9 years agocode cleanup, delete trailing white space
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>
9 years agovmconfig_cleanup_pending: new method to clenup setting in [PENDING]
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>
9 years agovmconfig_hotplug_pending: implement tablet hotplug
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>
9 years agoimplement trivial hotplug
Dietmar Maurer [Mon, 17 Nov 2014 08:50:31 +0000 (09:50 +0100)]
implement trivial hotplug

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
9 years agofix balloon consistency check (consider pending changes)
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>
9 years agovm_start: apply pending changes
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>
9 years agoimplement vmconfig_apply_pending for stopped VM
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>
9 years agoupdate_vm_api: always write into pending section
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>
9 years agowrite_vm_config : write pending change
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>
9 years agoparse_vm_config: only allow 'delete' inside [PENDING]
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>
9 years agoparse_vm_config: correctly handle $descr
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>
9 years agoparse_vm_config : parse pending changes
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>
9 years agobump version to 3.3-7
Dietmar Maurer [Mon, 22 Dec 2014 16:24:45 +0000 (17:24 +0100)]
bump version to 3.3-7

9 years agothis commit:
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>
9 years agowhite space cleanups
Dietmar Maurer [Wed, 10 Dec 2014 05:40:21 +0000 (06:40 +0100)]
white space cleanups

9 years agoAdd qga freeze in vzdump in snapshot mode
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>
9 years agowhite space cleanups
Dietmar Maurer [Thu, 4 Dec 2014 12:07:59 +0000 (13:07 +0100)]
white space cleanups

9 years agoadd custom numa topology support
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>
9 years agoadd numa options v3
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>
9 years agobump version to 3.3-6
Dietmar Maurer [Thu, 4 Dec 2014 11:35:10 +0000 (12:35 +0100)]
bump version to 3.3-6

9 years agoFix in PVE::QemuServer::snapshot_create
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>
9 years agosnapshot_create: fix bug from prev. commit, consider $freezefs parameter
Dietmar Maurer [Tue, 2 Dec 2014 12:42:51 +0000 (13:42 +0100)]
snapshot_create: fix bug from prev. commit, consider $freezefs parameter

9 years agosnapshot_create: use guest-fsfreeze-freeze if possible
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>
9 years agoqmpclient: use guest-sync-delimited
Dietmar Maurer [Tue, 2 Dec 2014 12:03:55 +0000 (13:03 +0100)]
qmpclient: use guest-sync-delimited

9 years agobump version to 3.3-5
Dietmar Maurer [Mon, 1 Dec 2014 08:31:43 +0000 (09:31 +0100)]
bump version to 3.3-5

9 years agodrive-mirror: avoid division by zero bug
Dietmar Maurer [Mon, 1 Dec 2014 08:27:01 +0000 (09:27 +0100)]
drive-mirror: avoid division by zero bug

9 years agoqmpclient: fix mux_input regex
Dietmar Maurer [Fri, 28 Nov 2014 09:42:12 +0000 (10:42 +0100)]
qmpclient: fix mux_input regex

9 years agoqmpclient: improve error handling
Dietmar Maurer [Fri, 28 Nov 2014 09:32:40 +0000 (10:32 +0100)]
qmpclient: improve error handling

9 years agosimplify code by using vm_qmp_command() directly
Dietmar Maurer [Thu, 27 Nov 2014 12:29:51 +0000 (13:29 +0100)]
simplify code by using vm_qmp_command() directly

9 years agoqmpclient: code cleanup, execute qga and qmp in parallel
Dietmar Maurer [Thu, 27 Nov 2014 10:56:52 +0000 (11:56 +0100)]
qmpclient: code cleanup, execute qga and qmp in parallel

9 years agoshutdown by Qemu Guest Agent if the agent flag in the config is set
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>
9 years agoqmpclient: now if the QMP command starts with guest-+ , it will bind dynamicly to...
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>
9 years agoqmpclient-qga : mux_input : parse qga result
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>
9 years agoqmpclient-qga : build qga command
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>
9 years agoqmpclient-qga : do not sent qmp_capabilities for qga
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>
9 years agoqmpclient-qga : cmdid : use integer instead string
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>
9 years agoqmpclient-qga : add qga param to qmp_socket
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>
9 years agoqmpclient-qga : add qga option at object creation
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>
9 years agoadd vm_qga_command
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>
9 years agocode cleanups
Dietmar Maurer [Fri, 21 Nov 2014 11:31:56 +0000 (12:31 +0100)]
code cleanups

9 years agosavevm-end : wait that savevm is finished
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>
9 years agoserial: allow to pass arbitrary device names
Dietmar Maurer [Mon, 1 Dec 2014 08:47:36 +0000 (09:47 +0100)]
serial: allow to pass arbitrary device names

9 years agoAdd check if host has enough real CPUs for starting VM
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>
9 years agoqemu_drive_mirror: cleanup, avoid code duplication
Dietmar Maurer [Mon, 10 Nov 2014 07:18:39 +0000 (08:18 +0100)]
qemu_drive_mirror: cleanup, avoid code duplication

9 years agoqemu_drive_mirror: raise exception if we cannot parse $dst_volid
Dietmar Maurer [Mon, 10 Nov 2014 06:55:09 +0000 (07:55 +0100)]
qemu_drive_mirror: raise exception if we cannot parse $dst_volid

9 years agobump version to 3.3-3
Dietmar Maurer [Mon, 10 Nov 2014 05:32:31 +0000 (06:32 +0100)]
bump version to 3.3-3

9 years agodelete trailing whitespace
Dietmar Maurer [Mon, 10 Nov 2014 05:31:08 +0000 (06:31 +0100)]
delete trailing whitespace

9 years agoblock-job-complete : retry if block job cannot be complete
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>
9 years agobump version to 3.3-2
Dietmar Maurer [Fri, 7 Nov 2014 14:45:56 +0000 (15:45 +0100)]
bump version to 3.3-2

9 years agocleanup: do not entry wait loop if block-job-cancel() fails.
Dietmar Maurer [Fri, 7 Nov 2014 14:31:56 +0000 (15:31 +0100)]
cleanup: do not entry wait loop if block-job-cancel() fails.

9 years agodrive-mirror : wait that busy eq false before block-job-complete
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>
9 years agoblock-job-cancel : wait that jobs is really finished
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>
9 years agobump version to 3.3-1
Dietmar Maurer [Mon, 13 Oct 2014 08:36:23 +0000 (10:36 +0200)]
bump version to 3.3-1

9 years agoenable write zeroes optimisations
Alexandre Derumier [Mon, 13 Oct 2014 07:45:30 +0000 (09:45 +0200)]
enable write zeroes optimisations

This enable write zeroes optimisation inside guest.

(I have tested them with qcow2,raw (ext4|xfs) , zfs|iscsi and nfs too.

No impact if the block driver don't support it yet (like rbd)

https://lists.nongnu.org/archive/html/qemu-devel/2014-04/msg00009.html

> a) mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/vdX
>
> QCOW2         [off]     [on]     [unmap]
> -----
> runtime:       14secs    1.1secs  1.1secs
> filesize:      937M      18M      18M
>
> iSCSI         [off]     [on]     [unmap]
> ----
> runtime:       9.3s      0.9s     0.9s
>
> b) dd if=/dev/zero of=/dev/vdX bs=1M oflag=direct
>
> QCOW2         [off]     [on]     [unmap]
> -----
> runtime:       246secs   18secs   18secs
> filesize:      51G       192K     192K
> throughput:    203M/s    2.3G/s   2.3G/s
>
> iSCSI*        [off]     [on]     [unmap]
> ----
> runtime:       8mins     45secs   33secs
> throughput:    106M/s    1.2G/s   1.6G/s
> allocated:     100%      100%     0%

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agoadd iothread/dataplane support
Alexandre Derumier [Fri, 10 Oct 2014 02:05:44 +0000 (04:05 +0200)]
add iothread/dataplane support

new config option:

iothread: 1|0

This enable iothread/dataplane support, to improve io performance on fast storages

Currently block jobs don't work yet, it's planned for qemu 2.2.
So it's better to not expose yet this option in gui.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agobump version to 3.1-35
Dietmar Maurer [Wed, 17 Sep 2014 13:53:02 +0000 (15:53 +0200)]
bump version to 3.1-35

9 years agofix bug #542: return VMID as integer
Dietmar Maurer [Wed, 17 Sep 2014 13:51:47 +0000 (15:51 +0200)]
fix bug #542: return VMID as integer

9 years agobump version to 3.1-34
Dietmar Maurer [Mon, 1 Sep 2014 09:36:07 +0000 (11:36 +0200)]
bump version to 3.1-34

9 years agovm_devices_list : also list block devices
Alexandre Derumier [Fri, 29 Aug 2014 13:04:15 +0000 (15:04 +0200)]
vm_devices_list : also list block devices

This allow scsi disk to be plug|unplug

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agoCurrently,if we don't have a "machine" option in running config, and we take a vmstat...
Dietmar Maurer [Fri, 29 Aug 2014 09:27:27 +0000 (11:27 +0200)]
Currently,if we don't have a "machine" option in running config, and we take a vmstate snapshot

the machine option is write in the snapshot (ok), but also in the running config (bad)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
9 years agoallow hotplug of virtio-scsi disks
Alexandre Derumier [Wed, 27 Aug 2014 13:48:30 +0000 (15:48 +0200)]
allow hotplug of virtio-scsi disks

It was an old protection, it's working fine now

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agobump version to 3.1-33
Dietmar Maurer [Tue, 26 Aug 2014 07:24:29 +0000 (09:24 +0200)]
bump version to 3.1-33

9 years agoclone_vm: auto generate new uuid
Dietmar Maurer [Tue, 26 Aug 2014 07:20:09 +0000 (09:20 +0200)]
clone_vm: auto generate new uuid

9 years agobump version to 3.1-32
Dietmar Maurer [Wed, 20 Aug 2014 10:21:28 +0000 (12:21 +0200)]
bump version to 3.1-32

9 years agoadd Broadwell cpu model
Alexandre Derumier [Mon, 18 Aug 2014 13:56:35 +0000 (15:56 +0200)]
add Broadwell cpu model

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agobump version to 3.1-31
Dietmar Maurer [Wed, 13 Aug 2014 04:17:31 +0000 (06:17 +0200)]
bump version to 3.1-31

9 years agogenerate spice devices cmd line after pci bridge
Alexandre Derumier [Tue, 12 Aug 2014 23:04:31 +0000 (01:04 +0200)]
generate spice devices cmd line after pci bridge

we should push to $devices array instead $cmd array,

because pci bridges need to be create before spice devices

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agobump version to 3.1-30
Dietmar Maurer [Wed, 6 Aug 2014 07:41:43 +0000 (09:41 +0200)]
bump version to 3.1-30

9 years agobump max hostpci to 4
Alexandre Derumier [Wed, 6 Aug 2014 05:39:33 +0000 (07:39 +0200)]
bump max hostpci to 4

user need to passthough 3 devices here
http://forum.proxmox.com/threads/19134-KVM-passtrought-PciExpress-3-card

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agovga=none if x-vga passthrough is enabled
Alexandre Derumier [Wed, 6 Aug 2014 05:27:29 +0000 (07:27 +0200)]
vga=none if x-vga passthrough is enabled

we need to disable virtual vga card if we passthrough a physical gpu

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
9 years agobump version to 3.1-29
Dietmar Maurer [Tue, 29 Jul 2014 04:53:27 +0000 (06:53 +0200)]
bump version to 3.1-29