Dietmar Maurer
edb52f14a5
qmpclient: fix mux_input regex
2014-12-01 09:50:12 +01:00
Dietmar Maurer
c8125172c7
qmpclient: improve error handling
2014-12-01 09:50:12 +01:00
Dietmar Maurer
2ea5450311
simplify code by using vm_qmp_command() directly
2014-12-01 09:50:12 +01:00
Dietmar Maurer
7a6c215042
qmpclient: code cleanup, execute qga and qmp in parallel
2014-12-01 09:50:12 +01:00
Wolfgang Link
1c0c1c17b0
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>
2014-12-01 09:50:12 +01:00
Wolfgang Link
c5a07de5af
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>
2014-12-01 09:50:12 +01:00
Alexandre Derumier
bcfbc40b39
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>
2014-12-01 09:50:12 +01:00
Alexandre Derumier
a45a14fcf7
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>
2014-12-01 09:50:12 +01:00
Alexandre Derumier
c6fb6a6978
qmpclient-qga : do not sent qmp_capabilities for qga
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-12-01 09:50:12 +01:00
Alexandre Derumier
b1d8a6d44b
qmpclient-qga : cmdid : use integer instead string
...
qga client use only integer as id
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-12-01 09:50:12 +01:00
Alexandre Derumier
f1f36aca43
qmpclient-qga : add qga param to qmp_socket
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-12-01 09:50:12 +01:00
Alexandre Derumier
d64ee87e73
qmpclient-qga : add qga option at object creation
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-12-01 09:50:11 +01:00
Alexandre Derumier
693d12a2c0
add vm_qga_command
...
and reuse vm_qmp_command && qmp_socket with $qga param
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-12-01 09:50:11 +01:00
Dietmar Maurer
f34ebd5259
code cleanups
2014-12-01 09:50:11 +01:00
Alexandre Derumier
2c9e8036f5
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>
2014-12-01 09:50:11 +01:00
Dietmar Maurer
1b0b51ed94
serial: allow to pass arbitrary device names
2014-12-01 09:50:11 +01:00
Wolfgang Link
7626772856
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>
2014-11-17 11:24:15 +01:00
Dietmar Maurer
883839209f
qemu_drive_mirror: cleanup, avoid code duplication
2014-11-10 08:18:39 +01:00
Dietmar Maurer
08ac653fcf
qemu_drive_mirror: raise exception if we cannot parse $dst_volid
2014-11-10 07:55:09 +01:00
Dietmar Maurer
b467f79a50
delete trailing whitespace
2014-11-10 06:31:08 +01:00
Alexandre Derumier
21ccdb506a
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>
2014-11-10 06:26:25 +01:00
Dietmar Maurer
bcc87408c0
cleanup: do not entry wait loop if block-job-cancel() fails.
2014-11-07 15:31:56 +01:00
Alexandre Derumier
ab6ecffe53
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>
2014-11-07 15:28:13 +01:00
Alexandre Derumier
5fe03fd8ee
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>
2014-11-07 15:26:21 +01:00
Alexandre Derumier
f1e053055c
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>
2014-10-13 10:34:41 +02:00
Alexandre Derumier
7183bd9a8f
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>
2014-10-10 10:27:41 +02:00
Dietmar Maurer
184955dc65
fix bug #542 : return VMID as integer
2014-09-17 15:51:47 +02:00
Alexandre Derumier
f78cc802cf
vm_devices_list : also list block devices
...
This allow scsi disk to be plug|unplug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-09-01 11:33:54 +02:00
Dietmar Maurer
7946e0fa42
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>
2014-08-29 11:27:27 +02:00
Alexandre Derumier
6c33c345ef
allow hotplug of virtio-scsi disks
...
It was an old protection, it's working fine now
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-08-29 08:18:08 +02:00
Dietmar Maurer
cd11416f7a
clone_vm: auto generate new uuid
2014-08-26 09:20:09 +02:00
Alexandre Derumier
3aefd6fdf9
add Broadwell cpu model
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-08-20 12:20:18 +02:00
Alexandre Derumier
d2da6d9b8e
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>
2014-08-13 06:14:03 +02:00
Alexandre Derumier
5cffb2d2f2
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>
2014-08-06 09:40:32 +02:00
Alexandre Derumier
137483c053
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>
2014-08-06 09:39:38 +02:00
Dietmar Maurer
debe88829e
vm_stop: do not use ha commands if $migratedfrom is set
2014-07-29 06:51:02 +02:00
Alexandre Derumier
9040435417
disable kvm cpu signature if x-vga is enabled
...
see
http://git.qemu.org/?p=qemu.git;a=commit;h=f522d2acc549dd11f495048330aa5f3f424a7dfa
last nvdia drivers don't install in kvm machine if they detect kvm signature.
This patch hide kvm signature in cpuflags (but don't disable kvm)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-07-24 06:51:55 +02:00
Kamil Trzciński
8f3e88af00
Reset device only if has_fl_reset is defined
...
Signed-off-by: Kamil Trzciński <ayufan@ayufan.eu>
2014-07-23 06:11:15 +02:00
Stefan Priebe
8fd882a42b
snapshot_delete: reorder parent "connection" after prepare
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 09:23:40 +02:00
Stefan Priebe
64ff6fe44c
API2: remove require full parameter for snapshot cloning
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 09:22:37 +02:00
Stefan Priebe
258e646c57
pass snapname to PVE::Storage::vdisk_clone
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 09:21:37 +02:00
Alexandre Derumier
e5e3ccbbc2
allow resize of virtio windows boot disk
...
virtio-win-0.1-74 have fixed the resize bug of virtio boot disk
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-07-16 12:47:04 +02:00
Dietmar Maurer
47314bf5e2
auto generate uuid on VM create
...
Other VM environments also generates an UUID by default.
2014-06-26 11:51:52 +02:00
Dietmar Maurer
d7fd6a445b
require 'VM.Config.HWType' priviledge to change new smbios1 option
2014-06-26 11:17:10 +02:00
Dietmar Maurer
2796e7d542
new option smbios1: specify SMBIOS type 1 fields (uuid, ...)
2014-06-26 11:12:25 +02:00
Dietmar Maurer
12a1e0f4e8
vncproxy: remove check if VM is running
...
Because this does not work when VM is on other cluster node.
2014-06-25 09:54:23 +02:00
Alexandre Derumier
b1f72af6d4
add pci multifunction unbind support
...
we need to unbind each functions of a multifunction pci device
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-06-25 09:30:01 +02:00
Alexandre Derumier
4543ecf07f
add pci multifunction support
...
multifunction device should be define without the .function
hostpci0: 00:00
example
-------
if 00:00.0
00:00.1
00:00.2
exists,
then we generate the multifunction devices
-device (pci-assign|vfio-pci),host=00:00.0,id=hostpci0.0,bus=...,addr=0x0.0,multifunction=on
-device (pci-assign|vfio-pci),host=00:00.1,id=hostpci0.1,bus=...,addr=0x0.1
-device (pci-assign|vfio-pci),host=00:00.2,id=hostpci0.2,bus=...,addr=0x0.2
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-06-25 09:29:53 +02:00
Alexandre Derumier
2e3b7e2a3a
add pcie and x-vga passthrough
...
hostpci0: .....,x-vga=on,pcie=1
x-vga require kernel 3.10 with vfio-vga support enable
if x-vga=on, we force vfio-pci device
pcie=1 choose the pciexpress bus (need q35 machine model)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-06-25 09:29:10 +02:00
Dietmar Maurer
7786f1b0b4
vncproxy: add check if VM is running
...
To provide better eror message for console task.
2014-06-25 07:20:23 +02:00
Dietmar Maurer
c422ce9347
protect websocket API with vncticket
2014-06-24 16:10:30 +02:00
Dietmar Maurer
4d00f52fbb
fix a typo
2014-06-24 07:44:17 +02:00
Dietmar Maurer
5b25afb0b7
vncwebsocket: do not proxy connection
2014-06-18 12:44:46 +02:00
Dietmar Maurer
3e7567e05e
do not use novnc wsproxy
...
Instead, we use new HTTPServer features.
2014-06-18 11:02:57 +02:00
Stefan Priebe
000fc0a254
added support for vfio-pci passthrough
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-06-18 07:03:09 +02:00
Dietmar Maurer
db656e5f24
cleanup previous patch
2014-06-18 06:54:45 +02:00
Alexandre Derumier
f8e83f0548
enable q35 machine support
...
q35 use pcie.0 root by default. so currently we can't start machine model q35.
we need to add 3 pci-bridge pci.0, pci.1, pci.2, to handle our devices.
pcie.0 does not support hotplug. so pci-bridge are defined at startup.
I use an pve-q35.cfg (mostly the same than q35-chipset.cfg from qemu docs).
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-06-18 06:03:53 +02:00
Alexandre Derumier
985a5f483d
migration : add setup state
...
since qemu 1.5, they are a new migration state : "setup"
it's mainly use for rdma migration, but slow vm can it see and hang on migration
http://git.qemu.org/?p=qemu.git;a=commit;h=3b6959506831193f37cc830c8e111b437c0d1380
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-06-17 08:57:31 +02:00
Dietmar Maurer
983d458216
cleanup VNC websocket patch
...
Pass ticket via ENV{LC_PVE_TICKET} to vncproxy. Also remove 'unsecure' option, because
this is implied if we want a websocket connection.
2014-06-17 08:06:32 +02:00
Stefan Priebe
b4d5c00063
API2/Qemu: add unsecure and websocket options to vncpoxy also set qemu vnc server properties on the fly
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-06-17 08:05:28 +02:00
Alexandre Derumier
a9410357d2
add virtio-net multiqueue support
...
this a new option queue=(\d+) to net interface
Allow to use more than 1 cpu for network stream, so this can improve network bandwidth,
when vhost-net cpu is the bottleneck
http://www.linux-kvm.org/page/Multiqueue#Enable_MQ_feature
-netdev tap,vhost=on,queues=N -device virtio-net-pci,mq=on,vectors=2N+2
host requirement
----------------
this require host kernel >= 3.8 (or qemu die at start)
linux guest requirement
-----------------------
kernel >= 3.8
manual enabling multiqueue
windows guest requierement
--------------------------
recent virtio-net driver
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-06-11 09:22:01 +02:00
Dietmar Maurer
5881b913c0
add option iscsi only once
...
We simply add option iscsi if we have an initiator name. So we
never add this option multiple times, and it works with hotplug
in case someone plugs an 'iscsi:' drive later.
2014-05-17 09:14:58 +02:00
Dietmar Maurer
46f58b5f03
cleanup previous commit - use IO::File
2014-05-17 09:07:18 +02:00
Michael Rasmussen
15b21acc0d
add initiator-name to iscsi drives if configured
...
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2014-05-17 08:42:54 +02:00
Alexandre Derumier
28138e9a1b
print_net : add firewall option
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-05-09 11:52:15 +02:00
Dietmar Maurer
8cd00f4b24
do not ignore errors on tap_unplug
2014-05-08 15:45:25 +02:00
Alexandre Derumier
011c581720
add pve-bridgedown script
...
This allow to delete fwbr bridge, link interfaces, cleanup ovs
when vm is shutdown
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-05-08 08:37:04 +02:00
Alexandre Derumier
2dd4aa4c95
add firewall option to qemu network interface
...
this allow to disable firewall for a specific interface
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-05-08 08:35:37 +02:00
Dietmar Maurer
228a998ba3
depend on pve-firewall, add firewall API for VMs
2014-05-06 11:27:10 +02:00
Dietmar Maurer
3cf90d7a40
qmrestore: removed short timeout
2014-04-17 10:37:46 +02:00
Dietmar Maurer
19d13324e4
add linefeed to warn message and add changelog for previous commit
2014-04-17 09:29:46 +02:00
Alexandre Derumier
5b0bd20dd5
move_disk : don't delete disk if used in a previous snasphot v2
...
and set it as unused
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-04-17 07:44:17 +02:00
Dietmar Maurer
c82935e92e
fix bug #502 : allow creation of empty vma archives
2014-04-14 11:21:01 +02:00
Dietmar Maurer
c0efd8cd0e
disable cpu enforce flag
...
Enforce needs kernel 3.10, so we do not use it for now.
2014-04-03 09:39:54 +02:00
Alexandre Derumier
2430d37886
enforce cpu check
...
enable check if host support all cpu flags configured for the guests
this avoid some bad setup like Opteron vcpu on a intel host for example,
and avoid some bad live migrations
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-03-28 09:03:21 +01:00
Stefan Priebe
2e787b1892
QemuMigrate: print migration xbzrle if enabled (has xbzrlecachesize) for whatever reason (bug qemu, bug pve, ...)
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-02-10 12:29:17 +01:00
Dietmar Maurer
22430fa2c9
remove unneeded parentheses
2014-02-10 08:05:06 +01:00
Stefan Priebe
b463a3cec0
since qemu 1.7 xbzrle is AUTOMATICALLY enabled in the end of transfer - we need to explicit disable all feature we do not want
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-02-10 08:01:19 +01:00
Lindsay Mathieson
68ab04470b
Adds the VM name to the title for the spice clent, making it easier to identify which in window lists etc.
...
Signed-off-by: Lindsay Mathieson <lindsay.mathieson@gmail.com>
2014-01-31 06:51:16 +01:00
Dietmar Maurer
73272365bf
deactivate volume after clone
...
To avoid lvm LVs to be active on several nodes.
2014-01-29 06:44:06 +01:00
Dietmar Maurer
264e519fab
white space cleanups
2014-01-14 10:33:36 +01:00
Alexandre Derumier
838776ab65
add cpu_hotplug
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-01-14 07:29:25 +01:00
Alexandre Derumier
3bd18e48cf
add maxcpus config
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-01-14 07:26:55 +01:00
Dietmar Maurer
8b8345f3ac
cleanup previous commit
2014-01-10 13:09:19 +01:00
Alexandre Derumier
a89fded11f
migration : enable auto-converge capability v2
...
This reduce guest cpu speed if dirtied bytes is 50% more than the approx.amount of bytes that just got transferred since the last time we were in this routine.
qemu commit :
http://git.qemu.org/?p=qemu.git;a=commit;h=bde1e2ec2176c363c1783bf8887b6b1beb08dfee
tested with "stress -m 2 -c 2" under debian
without autoconvergence : downtime 12s - duration 12min
with autoconvergence : downtime 2s - duration 4min
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-01-10 13:01:55 +01:00
Dietmar Maurer
0cea6a0160
add more options for pci passthrough
2013-12-13 11:43:05 +01:00
Dietmar Maurer
dd25eecf62
code cleanup
...
Use new helper methods.
2013-12-10 10:46:50 +01:00
Dietmar Maurer
cd339d1fe9
use new helper PVE::Tools::next_spice_port()
2013-12-09 13:23:26 +01:00
Dietmar Maurer
78252ce7d0
spiceproxy: use POST instead of GET
...
using GET is a security risk (no CSRF checks)
2013-12-09 08:17:52 +01:00
Alexandre Derumier
74edd76ba8
qemuserver : iothrottle add support for throttling burst max
...
http://git.qemu.org/?p=qemu.git;a=commit;h=3e9fab690d59ac15956c3733fe0794ce1ae4c4af
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-12-05 06:31:06 +01:00
Dietmar Maurer
5b952ff541
add 'lsi53c810' to the list of scsi controllers
2013-12-04 09:11:36 +01:00
Dietmar Maurer
8d87f8aa4f
add drive option 'discard'
2013-12-04 08:43:46 +01:00
Dietmar Maurer
e4c6e0b88c
add vmxnet3 to list of available network card models
2013-12-04 07:37:42 +01:00
Dietmar Maurer
87c5bc3493
add 'pvscsi' to the list of scsi controllers.
...
QEMU can now emulate the VMware PVSCSI device.
2013-12-04 06:52:38 +01:00
Alexandre Derumier
71ddbff9cb
qemu-img : qemu 1.7 use -n for skip volume create
...
http://git.qemu.org/?p=qemu.git;a=commit;h=b2e10493c71160d88bb823cae9a92e806a79b9d6
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-12-03 10:46:37 +01:00
Alexandre Derumier
4dc339e7b4
add +lahf_lm flag to kvm64 cpudef
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-11-29 09:17:03 +01:00
Dietmar Maurer
49ca581d5d
allow to migrate VMs using SPICE usb redirection
2013-11-26 07:37:18 +01:00
Dietmar Maurer
7aa608d655
include sendkey in directory index
2013-11-20 06:54:06 +01:00
Dietmar Maurer
baca276db5
deactivate volumes after clone to other node
2013-11-19 08:15:54 +01:00
Dietmar Maurer
1f1412d189
correcctly check if option is a drive
2013-10-14 07:35:04 +02:00
Dietmar Maurer
590e698c07
cleanup spice code
2013-10-02 09:11:57 +02:00
Alexandre Derumier
2fa3151ebd
add multi-monitors spice support
...
add qxl2 (2monitors),qxl3 (3monitors),qxl4 (4monitors) vga type.
For linux, we only need 1 qxl card with more memory
For windows, we need 1 qxl card by monitor
Original Information from spice-mailing
"
You need to specify multiple devices for Windows VMs. This is what
libvirt gives me (via 'virsh domxml-to-native qemu argv DOMAIN_XML'):
<...> -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=33554432 -device qxl,id=video1,ram_size=67108864,vram_size=33554432 -device qxl,id=video2,ram_size=67108864,vram_size=33554432 -device qxl,id=video3,ram_size=67108864,vram_size=33554432
For Linux VM, just one qxl device is OK but then it's advisable to
increase the available RAM:
<...> -vga qxl -global qxl-vga.ram_size=134217728 -global qxl-vga.vram_size=33554432
If you don't turn off surfaces, then you should increase vram size to
say 64 MB from current default of 32 MB.
"
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-10-02 08:26:32 +02:00
Dietmar Maurer
990fc5e22e
use warnings instead of global -w flag
2013-10-01 13:14:49 +02:00
Dietmar Maurer
c9928b3d53
use new PVE::Storage::abs_filesystem_path()
...
The check_volume_access() method does no longer return a path.
2013-10-01 12:41:06 +02:00
Alexandre Derumier
6b9d84cfb2
add opensolaris ostype and disable x2apic
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-09-24 06:53:26 +02:00
Alexandre Derumier
fd8469f7de
qemu migrate : only wait for spice server online + eval
...
Currently offline migration fail ,because we are trying to check with qmp the spiceserver status.
This should be done online only.
I also add eval, to avoid migration lock if qmp query fail.
Fix :http://forum.proxmox.com/threads/16093-VM-is-locked-after-offline-migration?p=82852
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-09-19 06:28:17 +02:00
Dietmar Maurer
244f2577c5
speedup restore on glusterfs (do not write zero bytes)
2013-09-17 09:12:07 +02:00
Dietmar Maurer
fa8ea931ed
whitespace cleanups
2013-09-05 07:44:52 +02:00
Dietmar Maurer
657533535d
Allow VMAdmin to delete disk with Datastore.AllocateSpace permissions
...
Previosly, a VMAdmin/DatastoreUser was able to add/create new disks, but
unable to remove them.
2013-09-05 07:41:40 +02:00
Dietmar Maurer
2dc23d7253
vncproxy API: avoid warning about uninitialize value
2013-08-28 11:31:31 +02:00
Dietmar Maurer
32e698051f
fix typo - s/parallel/parport/
2013-08-14 15:55:01 +02:00
Dietmar Maurer
4c5dbaf6ab
use tty chardev for usb-to-parallel
2013-08-14 14:22:24 +02:00
Dietmar Maurer
9ecc843138
allow to use usb parallel ports
2013-08-14 12:18:54 +02:00
Dietmar Maurer
a64d61460d
avoid another compile warning
2013-08-12 09:53:02 +02:00
Dietmar Maurer
033a0b366d
fix migration port (wrong quote)
2013-08-12 09:48:13 +02:00
Dietmar Maurer
760fb3c842
fix warning about uninitialized value
2013-08-12 09:47:02 +02:00
Dietmar Maurer
2dc9c14820
load config from correct node
2013-08-06 08:15:14 +02:00
Dietmar Maurer
ef5e2be2a4
add ability to run without graphic card ('vga: serial[n]')
2013-07-31 09:19:36 +02:00
Dietmar Maurer
9f9d2fb261
allow to use a socket for serial devices
2013-07-31 06:58:26 +02:00
Stefan Priebe
5bc1e0397e
qemu-server: add support for unsecure migration (setting in datacenter.cfg)
...
This patch adds support for unsecure migration using a direct tcp connection
KVM <=> KVM instead of an extra SSH tunnel. Without ssh the limit is just the
bandwith and no longer the CPU / one single core.
You can enable this by adding:
migration_unsecure: 1
to datacenter.cfg
Examples using qemu 1.4 as migration with qemu 1.3 still does not work for me:
current default with SSH Tunnel VM uses 2GB mem:
Dec 27 21:10:32 starting migration of VM 105 to node 'cloud1-1202' (10.255.0.20)
Dec 27 21:10:32 copying disk images
Dec 27 21:10:32 starting VM 105 on remote node 'cloud1-1202'
Dec 27 21:10:35 starting ssh migration tunnel
Dec 27 21:10:36 starting online/live migration on localhost:60000
Dec 27 21:10:36 migrate_set_speed: 8589934592
Dec 27 21:10:36 migrate_set_downtime: 1
Dec 27 21:10:38 migration status: active (transferred 152481002, remaining 1938546688), total 2156396544) , expected downtime 0
Dec 27 21:10:40 migration status: active (transferred 279836995, remaining 1811140608), total 2156396544) , expected downtime 0
Dec 27 21:10:42 migration status: active (transferred 421265271, remaining 1669840896), total 2156396544) , expected downtime 0
Dec 27 21:10:44 migration status: active (transferred 570987974, remaining 1520152576), total 2156396544) , expected downtime 0
Dec 27 21:10:46 migration status: active (transferred 721469404, remaining 1369939968), total 2156396544) , expected downtime 0
Dec 27 21:10:48 migration status: active (transferred 875595258, remaining 1216057344), total 2156396544) , expected downtime 0
Dec 27 21:10:50 migration status: active (transferred 1034654822, remaining 1056931840), total 2156396544) , expected downtime 0
Dec 27 21:10:54 migration status: active (transferred 1176288424, remaining 915369984), total 2156396544) , expected downtime 0
Dec 27 21:10:56 migration status: active (transferred 1339734759, remaining 752050176), total 2156396544) , expected downtime 0
Dec 27 21:10:58 migration status: active (transferred 1503743261, remaining 588206080), total 2156396544) , expected downtime 0
Dec 27 21:11:02 migration status: active (transferred 1645097827, remaining 446906368), total 2156396544) , expected downtime 0
Dec 27 21:11:04 migration status: active (transferred 1810562934, remaining 281751552), total 2156396544) , expected downtime 0
Dec 27 21:11:06 migration status: active (transferred 1964377505, remaining 126033920), total 2156396544) , expected downtime 0
Dec 27 21:11:08 migration status: active (transferred 2077930417, remaining 0), total 2156396544) , expected downtime 0
Dec 27 21:11:09 migration speed: 62.06 MB/s - downtime 37 ms
Dec 27 21:11:09 migration status: completed
Dec 27 21:11:13 migration finished successfuly (duration 00:00:41)
TASK OK
with unsecure migration without SSH Tunnel:
Dec 27 22:43:14 starting migration of VM 105 to node 'cloud1-1203' (10.255.0.22)
Dec 27 22:43:14 copying disk images
Dec 27 22:43:14 starting VM 105 on remote node 'cloud1-1203'
Dec 27 22:43:17 starting online/live migration on 10.255.0.22:60000
Dec 27 22:43:17 migrate_set_speed: 8589934592
Dec 27 22:43:17 migrate_set_downtime: 1
Dec 27 22:43:19 migration speed: 1024.00 MB/s - downtime 1100 ms
Dec 27 22:43:19 migration status: completed
Dec 27 22:43:22 migration finished successfuly (duration 00:00:09)
TASK OK
2013-07-26 11:23:49 +02:00
Dietmar Maurer
7c14dcae1f
use STDIN to pass spice ticket
2013-07-24 12:19:51 +02:00
Dietmar Maurer
86b8228b59
new vga_conf_has_spice() helper
...
code cleanups
2013-07-24 12:01:03 +02:00
Dietmar Maurer
1d794448fc
return spice_port from config_to_command()
...
That way we do not need to run qmp command to get the port.
Set spice ticket expire time to 30 (5 seconds seems a bit too short).
Coding style cleanups.
2013-07-24 11:24:20 +02:00
Alexandre Derumier
95a4b4a98b
add spice migration
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-07-24 10:54:20 +02:00
Alexandre Derumier
1481f3f23c
add read_x509_subject_spice
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-07-24 09:45:32 +02:00
Dietmar Maurer
d685bd1de8
remove spice cert paths
...
And depend on pve-qemu-kvm (>= 1.4-16), which automatically uses the correct
certs by default.
2013-07-23 10:05:36 +02:00
Dietmar Maurer
5acbfe9eea
disable tablet for spice
2013-07-19 09:58:17 +02:00
Dietmar Maurer
80401dd861
support usb redirection for spice
2013-07-19 09:37:04 +02:00
Dietmar Maurer
31178e138f
fix docu
2013-07-18 08:29:12 +02:00
Dietmar Maurer
fb6c726010
spiceproxy: allow client to choose proxy address
2013-07-18 08:00:03 +02:00
Dietmar Maurer
451b2b815e
spice: read cert subject name directly using Net::SSLeay
...
We now depend on libnet-ssleay-perl
2013-07-18 07:28:35 +02:00
Dietmar Maurer
943340a628
spice: use TLS
...
we now use a local tcp port instead of a unix socket, because that is
implemented and works with current spice libraries.
2013-07-17 11:33:02 +02:00
Dietmar Maurer
09984754a0
correctly return and use device type in scsi_inquiry
2013-07-15 13:46:41 +02:00
Dietmar Maurer
f334aa3e6e
fix scsi inquiry command
...
I got wrong results if command is longer than 6 bytes.
2013-07-15 13:12:18 +02:00
Dietmar Maurer
29b1952991
fix coding style
2013-07-15 13:11:28 +02:00
Dietmar Maurer
be19058305
bump version to 3.0-22
...
and delete trailing white spaces
2013-07-15 09:16:01 +02:00
Alexandre Derumier
462e8d19fe
add hyper-v enlightments for windows guests
...
This add special hyper-v cpu flags for windows guests.
This improve performance and avoid some bsod related to timer.
(I currently disable the hv_vapic flag because I can't get it working).
I have tested all theses flags with: win2003, win2008R2, winxp, linux debian 64bit, on intel and amd physicals processor
It doesn't break live migration, because new cpu flags are not see by guests until a vm reset.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-07-15 09:09:08 +02:00
Alexandre Derumier
2e1a5389f7
add +sep cpuflags to kvm32 && kvm64 cpu models
...
Need for win8 boot.
This flag was missing from rhel < 6.4 host kernel. It's ok now.
But it's also missing from kvm64 model. (It's exist in other cpu models, amd or intel).
So it's pretty safe to enable it.
If the host kernel is older, qemu filter the flag.
This also improve performance of winxp && win7 32 bits guests.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-07-15 09:08:50 +02:00
Alexandre Derumier
519ed28c96
enable x2apic by default for kvm machines
...
This reduce context switch with multicore guests.
Even if the host cpu don't have x2apic, it's working because qemu have an virtual x2apic implementation for guest.
We need in-kernel irqchip support for this, which is enable for kvm guest since qemu 1.3.
(I don't enable it if nokvm param is set)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-07-15 09:08:34 +02:00
Dietmar Maurer
716a470c8c
spiceproxy: set delete-this-file
2013-06-27 09:28:13 +02:00
Alexandre Derumier
af32683a67
spiceconfig: port can't be 0
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-06-27 06:12:46 +02:00
Alexandre Derumier
e554e5b9a9
spice : fix proxy address
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-06-27 06:10:34 +02:00
Dietmar Maurer
46246f04e9
vm status API: return info about spice
2013-06-26 13:37:14 +02:00
Dietmar Maurer
3309e65afa
spiceproxy: remove socat, and return data to access the new spiceproxy server
2013-06-26 13:13:58 +02:00
Dietmar Maurer
eb15737004
kill socat if we do not get any connection within $timeout seconds
2013-06-25 14:34:59 +02:00
Dietmar Maurer
8bd0cbf5c3
spice proxy: try to cirrectly count open socat connections
2013-06-25 12:54:15 +02:00
Dietmar Maurer
5ecf258f2c
limit spice ticket length to 59 charachters
2013-06-25 12:47:33 +02:00
Dietmar Maurer
288eeea8ae
add spice proxy API
...
This is experimental code, spice connections are not encryped and thus insecure.
We use ticket passwords for spice auth, and do direct spice connections to
the nodes instead of using a tunnel.
2013-06-25 12:09:05 +02:00
Dietmar Maurer
1011b57090
add support for spice display driver (vga=qxl)
...
This is based on the patch from Alexandre, but we use vga=qlx instead
of introducing a new 'spice: 1' boolean flag.
2013-06-25 07:10:42 +02:00
Dietmar Maurer
9b2c0efbd6
correctly handle undef values when calling qemu_block_set_io_throttle
2013-06-12 07:08:02 +02:00
Alexandre Derumier
0e6165343a
qemu-server : bridge_add : fix uninitialized value
...
fix : Use of uninitialized value $bridgeid in numeric lt (<) at /usr/share/perl5/PVE/QemuServer.pm line 2774.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-06-12 06:58:20 +02:00
Dietmar Maurer
7043d946fc
code cleanups
...
removed trailing white space
2013-06-11 07:27:31 +02:00
Dietmar Maurer
d52b8b77f8
simplify previous patch
2013-06-11 07:22:13 +02:00
Alexandre Derumier
09a8989501
create_disks : avoid storage scan v3
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-06-11 07:09:17 +02:00
Dietmar Maurer
5555edea95
update_vm_async: new asynchronous API
2013-06-07 11:41:58 +02:00
Dietmar Maurer
d8b916fdb0
snapshot rollback: use pc-i440fx-1.4 as default
2013-06-06 06:38:12 +02:00
Dietmar Maurer
6dbe8b459b
require VM.Config.HWType priviledges to modify 'machine' configuration
2013-06-06 06:22:32 +02:00
Dietmar Maurer
42668529e6
migrate: pass --machine parameter to remote 'qm start' command
2013-06-05 10:24:39 +02:00
Dietmar Maurer
4b15803dee
snapshot: save/restore 'machine' configuration
2013-06-05 10:17:49 +02:00
Dietmar Maurer
ff556cf2a0
implement get_current_qemu_machine
2013-06-05 09:52:22 +02:00
Dietmar Maurer
952958bc87
API extension: add 'machine' parameter to vm_start
...
This allows us to overwrite the machine type at start - useful for
migration to make sure we use the same machine at the target node.
2013-06-05 09:27:31 +02:00
Dietmar Maurer
3bafc5106e
add new 'machine' configuration
2013-06-05 09:18:23 +02:00
Dietmar Maurer
1a71fa73a4
fix typo
2013-06-04 13:33:35 +02:00
Dietmar Maurer
2fc6bc1722
qemu_drive_mirror: correctly call block-job-cancel if block-job-complete fails
2013-05-31 11:31:22 +02:00
Dietmar Maurer
70d45e33e9
move_disk: implement delete flag
2013-05-31 10:56:16 +02:00
Dietmar Maurer
43bc02a921
rename move to move_disk
...
Because that API call can only move a single disk (not the whole VM).
2013-05-31 08:46:21 +02:00
Dietmar Maurer
1377d7b0f5
clone_disk: test if requested format is supported - else use default
2013-05-29 12:59:21 +02:00
Dietmar Maurer
635c3c4426
move_vm: add original disk as unusedX
2013-05-29 12:15:30 +02:00
Dietmar Maurer
e2cd75fa65
move_vm: make it work with PVE::QemuServer:::clone_disk
...
- use POST instead of PUT (this is not idempotent).
- return task ID
- use declarative permission check
2013-05-29 12:07:56 +02:00
Alexandre Derumier
586bfa78d1
add qm move (storage migration)
...
qm move <vmid> <disk> <storage> --format [raw|qcow2|vmdk]
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-29 11:23:45 +02:00
Dietmar Maurer
c55fee03a0
allow to clone VM when name is not set
2013-05-29 11:18:54 +02:00
Dietmar Maurer
152fe752c4
factor out clone_disk
...
As suggested by Alexandre. Also cleanup qemu_drive_mirror (fix white space).
2013-05-29 08:32:10 +02:00
Dietmar Maurer
05937a147d
qm rescan: do not add aliases as unused disks.
2013-05-28 12:21:14 +02:00
Dietmar Maurer
a8e2f942bd
fix unused disk handling
...
Show unused disks even if disk is used inside snapshots. But do not allow
to remove those disks.
2013-05-28 12:08:45 +02:00
Dietmar Maurer
7a907ce612
rescan: add check if config has really changed
2013-05-27 10:51:01 +02:00
Dietmar Maurer
5996a936e3
fix bug 395: correctly handle unused disk with storage alias
2013-05-27 08:25:39 +02:00
Alexandre Derumier
e9cfd9cb01
qemu_img_format : use raw for as default for other storage (nexenta, sheepdog, ...)
...
Seem that something have change in qemu.
iscsi qemu block driver need to use raw, or we get a segfault. (like rbd).
sheepdog works also with .raw, so we don't need anymore specific storage format, we can use raw.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-23 11:33:17 +02:00
Dietmar Maurer
6e46ac079f
fix bug #389 : avoid error if balloon is undefined
2013-05-22 07:15:44 +02:00
Dietmar Maurer
8fd5743158
fix bug #391 - restore: test if requested format is supported
2013-05-21 12:02:41 +02:00
Dietmar Maurer
be51704915
use add_vm_to_pool/remove_vm_from_pool from PVE::AccessControl
2013-05-14 12:01:57 +02:00
Alexandre Derumier
b37558ca33
clone disk : keep source volume params
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-14 10:17:45 +02:00
Dietmar Maurer
4a5a259072
clone: check is we can clone to target storage
2013-05-13 11:17:38 +02:00
Dietmar Maurer
f9a971e0ee
fix bug #381 : use PVE::Tools::next_migrate_port()
2013-05-13 07:30:50 +02:00
Dietmar Maurer
ca3e4fa4e1
restore: do not restore template flag
...
A restored VM is never a template. Else we would need to create
base images after the restore, and not all storages supports base
images. Anyways, the user can easily convert the restored VM into a
template later.
2013-05-08 10:19:38 +02:00
Dietmar Maurer
ccb5c001d6
qemu_img_format: use 'raw' for lvm
...
With host_device we get the following error:
qemu-img: error while writing sector 0: Bad file descriptor
2013-05-07 10:15:57 +02:00
Alexandre Derumier
f6ab3bdbf9
drive-mirror : die if stats are empty.
...
If drive have bad sectors, the block job die.
we need to die if stats are empty to avoid this:
transferred: 21440086016 bytes remaining: 34668544 bytes total: 21474754560 bytes progression: 99.84 %
Use of uninitialized value $transferred in subtraction (-) at /usr/share/perl5/PVE/QemuServer.pm line 4611.
Use of uninitialized value $total in subtraction (-) at /usr/share/perl5/PVE/QemuServer.pm line 4611.
Use of uninitialized value $transferred in multiplication (*) at /usr/share/perl5/PVE/QemuServer.pm line 4612.
Use of uninitialized value $total in division (/) at /usr/share/perl5/PVE/QemuServer.pm line 4612.
clone failed: mirroring error: Illegal division by zero at /usr/share/perl5/PVE/QemuServer.pm line 4612.
Maybe it should be improved by catching qmp events, but doesn't seem to work for now
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-06 11:29:41 +02:00
Dietmar Maurer
4fca015325
set long timeout for query-block-jobs
...
Like we do for other block job query commands. Seems those commands
can hangs for some time.
2013-05-06 09:25:39 +02:00
Dietmar Maurer
719893a944
has_features: also return a list of allowed nodes
...
This is useful if a feature is restricted to a limited set of nodes.
2013-05-06 08:56:17 +02:00
Dietmar Maurer
7758ce869d
has_feature: add 'copy' to enum
2013-05-03 12:30:43 +02:00
Dietmar Maurer
7af0a6c88d
create template: fix permission check
...
This function only works if the VM already exists. But pool permissions
are automatically inherited on existing VMs, so there is no need
to explicitly check pool permissions.
2013-05-03 09:14:25 +02:00
Dietmar Maurer
d703d4c010
clone: correctly add VM to pool
2013-05-03 09:08:39 +02:00
Dietmar Maurer
2dd530430b
fix typo, whitespace cleanups
2013-05-03 08:39:41 +02:00
Alexandre Derumier
00b095caba
vm_clone : add running vm drive mirror
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-03 08:37:18 +02:00
Alexandre Derumier
cfad42afd4
add qemu_drive_mirror
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-03 08:37:03 +02:00
Dietmar Maurer
f9bfceefa6
restore: allow to overwrite existing VMs if user has VM.Backup permissions
...
The requirement to have VM.Allocate it non-obvious and confusing
if the VM already exists. If the user can backup, he should also be able
to restore that backup.
2013-05-03 07:47:08 +02:00
Dietmar Maurer
9418baad81
remane copy to clone
2013-05-02 11:42:22 +02:00
Dietmar Maurer
dba198b05e
check has_feature copy for full clone
2013-05-02 07:17:15 +02:00
Dietmar Maurer
829967a93b
copy_vm: re-structure code to allow more checks before fork
2013-05-02 07:10:46 +02:00
Alexandre Derumier
c6d0c8a702
fix : signal interrupt don't delete volume on full copy
...
Currently we push newvolid to newvollist after qemu-img convert,
so if signal interrupt occur during qemu-img convert, the newvollist is empty and we can't free the volume
Instead, We need to push newvolid to newvollist just after volume creation
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-02 06:49:12 +02:00
Alexandre Derumier
751cc556dc
fix "Use of uninitialized value $target"
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-02 06:40:01 +02:00
Dietmar Maurer
75466c4fa6
white-space cleanups
2013-04-30 11:46:38 +02:00
Dietmar Maurer
55173c6bd4
copy_vm: new option to move final VM to other node (option target)
...
This only works if the VM is on shared storage.
2013-04-30 11:44:39 +02:00
Alexandre Derumier
42a19c87bc
vm_copy : add optional format parameter
...
can be qcow2,raw,vmdk
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-30 10:46:44 +02:00
Dietmar Maurer
a60ab1a6a2
copy_vm: add name and description option
2013-04-30 09:54:34 +02:00
Dietmar Maurer
9076d880a8
copy_vm: allow to copy from snapshot
2013-04-30 09:31:23 +02:00
Dietmar Maurer
4e4f83fea0
copy_vm: use exclusive lock for running VM
...
Because we can only run one block job to copy data.
2013-04-30 07:40:43 +02:00
Alexandre Derumier
81f043ebc0
copy_vm : add optional storage parameter
...
Optionnal target storage for full copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-30 07:16:54 +02:00
Alexandre Derumier
15b1fc9395
don't send qmp balloon commands if vm is started with a state file
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-30 07:01:58 +02:00
Alexandre Derumier
bdf3f36209
parse_drive : return correct format
...
Currently format is always empty, we need to parse file extension
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-30 06:55:33 +02:00
Alexandre Derumier
3732918544
vm_copy : fix typo in description
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-30 06:55:18 +02:00
Dietmar Maurer
b83e0181f1
implement copy_vm
...
This is based on patches from Alexandre Derumier <aderumier@odiso.com>.
It just implements copy/clone for stopped VMs and Templates. Copying
running VMs or copy from snapshots is not implemented.
2013-04-29 10:53:03 +02:00
Alexandre Derumier
5133de429e
add qemu_img_convert
...
also work with snapshot as source for qcow2,rbd,sheepdog.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-29 09:30:58 +02:00
Dietmar Maurer
6116f72902
implement shared file locks
...
and add a first prototype for copy_vm
2013-04-29 09:30:15 +02:00
Dietmar Maurer
218cab9a3a
use correct package prefix
2013-04-22 10:57:24 +02:00
Dietmar Maurer
b91c2aae28
fix assertion
2013-04-22 09:43:54 +02:00
Dietmar Maurer
35c5fdefce
move assertion so that we have all checks at the same place.
2013-04-22 07:10:58 +02:00
Dietmar Maurer
75e7e997e7
set template flag earlier
2013-04-22 07:08:51 +02:00
Dietmar Maurer
0402a80b77
do not allow template creation if there are snapshots.
2013-04-22 07:05:54 +02:00
Dietmar Maurer
bef4463b61
fix wrong comment
2013-04-22 07:02:10 +02:00
Alexandre Derumier
bbd560974a
template_create : add template:1 option.
...
Also allow template create of non base-xxx renamable storage
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-22 06:59:18 +02:00
Stefan Priebe
b02691d817
use vm create permissions for templates
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-04-19 11:38:57 +02:00
Dietmar Maurer
03da3f0d46
fix bug 377: make qm rescan work properly
2013-04-19 10:45:46 +02:00
Alexandre Derumier
96d695c08a
is_template : return 1 if template option == 1
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-19 06:56:30 +02:00
Alexandre Derumier
68eda3abc4
add template config option
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-04-19 06:56:03 +02:00
Dietmar Maurer
b006e70b68
avoid endless loop in QMPClient
2013-04-18 10:34:44 +02:00
Dietmar Maurer
f4fde4d376
do not delete unmatched content from $$input
2013-04-18 08:26:23 +02:00
Dietmar Maurer
013d52755f
allow sparse restore for sheepdog and rbd
2013-04-18 06:14:50 +02:00
Dietmar Maurer
92f0fedcce
parse_net: fix warning about uninitialized value
2013-03-22 06:23:22 +01:00
Dietmar Maurer
405b913a01
add better checks to test if backup was successful
2013-03-15 06:32:14 +01:00
Alexandre Derumier
1f219ef546
virtio disk hot-unplug: drive_del after device_del
...
we need to remove drive after device has correctly by remove.
With this patch:
Windows : if drive is locked/"mounted", the hot-unplug fail and disk is accessible (100% safe)
Linux: without hotplug module : the hot-unplug fail and disk is accessible (100% safe)
Linux : with hotplug module : the hot-unplug work, but no verification is done is the drive is mounted
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-07 08:37:49 +01:00
Alexandre Derumier
750886f87a
nic hot-unplug: delete netdev after device removal
...
Currently we delete netdev before acpi hot-unplug.
if guest don't support hotplug, this break network.
We need to remove netdev after the device had be correctly unplug.(we check that device has been correctly removed)
So, If guest don't support hotplug, It's simply thrown a unplug error message without breaking the network
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-07 08:37:23 +01:00
Alexandre Derumier
de8f60b252
dynamic bridge rate/vlan change on nic update
...
if model change : we try to unplug like before
if bridge/nat change : we try to unplug like before
else if bridge, but rate/vlan/bridge change, we dynamicly change them without need hotplug
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-03-05 12:10:06 +01:00
Dietmar Maurer
fc97ae2788
fix backup-cancel timeout
2013-03-01 10:59:19 +01:00
Dietmar Maurer
bb1e32937a
Revert "vncproxy: wait max 10s for the socket if it does not exist"
...
This reverts commit 58504d5edf
.
The patch only works if the VM is on local host.
2013-02-28 12:49:21 +01:00
Dietmar Maurer
60635a5733
vzdump: improve error reporting
...
And use kill(9) instead of kill(-9), which simply hangs
2013-02-28 10:47:55 +01:00
Stefan Priebe
58504d5edf
vncproxy: wait max 10s for the socket if it does not exist
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-02-28 06:53:54 +01:00
Dietmar Maurer
b7b1ac9d04
fix check if a backing file exist
2013-02-28 06:36:46 +01:00
Alexandre Derumier
ef86170e9f
bugfix #340 : don't set cache=none to cdrom
...
Cdrom devices don't works with cache=none and no reason to force cache mode on cdrom
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-27 09:21:31 +01:00
Dietmar Maurer
eac6899d96
default cpu type is kvm64 now
2013-02-25 07:01:51 +01:00
Alexandre Derumier
d5f315fda5
migration : display qm resume error in task log
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-25 06:15:45 +01:00
Alexandre Derumier
f2965e67df
forbid online resize a virtio windows bootdisk
...
Currently is give us bsod, it's a windows virtio-blk driver bug.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-25 06:15:00 +01:00
Alexandre Derumier
11490cf228
set cache=none if option is not defined
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-25 06:11:37 +01:00
Alexandre Derumier
0ecf8463da
usb-tablet : always use uhci controller
...
- usb-tablet on ehci is buggy
- convert to -device syntax
info usb before
----------------
Device 0.2, Port 1, Speed 12 Mb/s, Product QEMU USB Tablet
info usb after
--------------
Device 0.2, Port 1, Speed 12 Mb/s, Product QEMU USB Tablet
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-22 11:53:52 +01:00
Alexandre Derumier
24f0d39a6c
uhci controller : use new -device syntax
...
we need an id to allow hotplug
info pci before
---------------
Bus 0, device 1, function 2:
USB controller: PCI device 8086:7020
IRQ 11.
BAR4: I/O at 0xc040 [0xc05f].
id ""
info pci after
--------------
Bus 0, device 1, function 2:
USB controller: PCI device 8086:7020
IRQ 11.
BAR4: I/O at 0xc040 [0xc05f].
id "uhci"
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-22 11:52:23 +01:00
Dietmar Maurer
fcc573ab24
Revert "enable usb2 controller by default"
...
This reverts commit 42869ac07d
.
2013-02-22 10:08:10 +01:00
Dietmar Maurer
2dbe827e38
disable hotplug by default
...
This reverts commit 6c52b6794e
Testing revealed that this has too many side effect, so we do not want
to change that for the 2.3 release.
2013-02-22 09:52:45 +01:00
Dietmar Maurer
23b4120bc8
add offline backup for templates
2013-02-22 09:46:59 +01:00
Dietmar Maurer
1575bfccc5
fix backup parameters for pve-qemu-kvm 1.4-4
...
bump version to 2.3-11
depend on pve-qemu-kvm 1.4-4
2013-02-20 10:48:52 +01:00
Alexandre Derumier
e8a7e9b44c
fix tablet hotplug
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 12:56:58 +01:00
Dietmar Maurer
6c52b6794e
hotplug/unplug devices by default
2013-02-19 10:47:17 +01:00
Alexandre Derumier
9a8d6b6665
hot-unplug : add some warnings for differents guest os
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 10:38:50 +01:00
Alexandre Derumier
73aa03b87f
qemu_netdevadd : convert to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 10:32:01 +01:00
Alexandre Derumier
89c1e0f438
qemu_netdevdel : convert to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 10:31:51 +01:00
Alexandre Derumier
d695b5b725
qemu_deviceadd : convert to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 10:31:43 +01:00
Alexandre Derumier
5a77d8c105
qemu_devicedel : convert to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 10:31:28 +01:00
Alexandre Derumier
cd6ecb89eb
hotplug/unplug tablet on config update
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 06:42:53 +01:00
Alexandre Derumier
42869ac07d
enable usb2 controller by default
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-19 06:41:05 +01:00
Alexandre Derumier
daca220d29
vzdump : check if volid exist with volume_size_info
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-18 06:49:07 +01:00
Alexandre Derumier
a6f0e83b93
template_create : check has_feature template
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-18 06:19:14 +01:00
Dietmar Maurer
8b43bc11db
add missing newline
2013-02-15 11:08:28 +01:00
Dietmar Maurer
03c2d0ad6f
remove wrong permission check
2013-02-15 08:45:42 +01:00
Dietmar Maurer
9cd0784249
template_create: check for 'clone' feature
2013-02-15 08:44:12 +01:00
Dietmar Maurer
3e2bbcdc0e
is_template: always return a defined value
...
use 0 instead of undef
2013-02-15 08:12:33 +01:00
Alexandre Derumier
4d8c851bcc
vmstatus : return template if vm is a template
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 08:09:36 +01:00
Dietmar Maurer
5295b23dfb
move template checks up one level
...
To avoid multiple/repeated calls to load_config().
2013-02-15 08:04:30 +01:00
Alexandre Derumier
f78fe36ece
forbid snapshot create if current it's a template
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:57:01 +01:00
Alexandre Derumier
d560409207
forbid offline migration of a non shared volume if it's a clone
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:52:53 +01:00
Alexandre Derumier
3dcb98d52b
forbid vm_start if current config is a template.
...
if files (raw,qcow2) are a template, we forbid vm_start.
note : the readonly protection do already the job, but we need a clear message for users
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:52:28 +01:00
Alexandre Derumier
90b0c6b34a
forbid rollback if current config is a template.
...
if a qcow2 current is a template, we can't rollback to a previous snapshot.
(note that file readonly protection do already the job, but we need a clear error message for user)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:52:09 +01:00
Alexandre Derumier
66aa07141f
forbid snapshot delete if it's a template
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:51:46 +01:00
Alexandre Derumier
624361b34a
add is_template sub
...
return 1 if vm is a full template (all disks are base image)
return 2 if vm is a semi-tempalte (mix of base and non-base image)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:51:09 +01:00
Alexandre Derumier
04a69bb4fe
add template_create
...
qm template <vmid> [-disk virtio0]
convert a full vm to a template (or only a disk if specify)
we orignal disk to /base (file) or base- (lvm,rbd,sheepdog,nexenta)
we create a snapshot @base if storage need it for clone
we protect the volume or snapshot
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:50:32 +01:00
Dietmar Maurer
ef1c835d19
do not set cache=none for .raw files
...
use qemu default instead (writeback)
2013-02-14 08:19:39 +01:00
Dietmar Maurer
0302101cf1
remove expected_downtime from migration status
2013-02-13 10:47:54 +01:00
Alexandre Derumier
abebe2f16c
qemu 1.4 fix : rename stats-polling-interval to guest-stats-polling-interval
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-13 10:00:41 +01:00
Dietmar Maurer
ebb5555800
fix tar restore: correctly check if VM config already exists
2013-01-28 09:54:00 +01:00
Dietmar Maurer
051347aab2
allow to suspend/resume VM during backup
...
bump version to 2.3-7
2013-01-17 10:25:39 +01:00
Dietmar Maurer
19599cd903
cancel backup before stopping the vm
...
bump version ro 2.3-6
2013-01-16 13:24:16 +01:00
Dietmar Maurer
06094efd4d
allow to run as qemu-system-x86_64
...
This is usefull to debug.
2013-01-16 13:19:24 +01:00
Dietmar Maurer
907ea89128
fix bug #307 : correctly restore disk settings
...
bump version to 2.3-5
2013-01-07 06:49:11 +01:00
Alexandre Derumier
4ec05c4cc3
balloon: don't set balloon && polling interval at start when livemigrate
...
We don't need to set balloon value and polling interval when a vm is coming from a livemigrate.
(Values are keep in guest memory)
So with autoballooning, this avoid to set the ballon size at ballon_min value when the vm is migrated
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-01-04 12:07:59 +01:00
Dietmar Maurer
ed2213500d
vma restore: only delete disks contained in backup.
...
cleanup: remove unnecessary 'PVE::QemuServer::' prefix.
2013-01-04 06:57:11 +01:00
Stefan Priebe
19168b91ae
QemuMigrate: phase2_cleanup misses migrate_cancel
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-01-02 06:36:53 +01:00
Alexandre Derumier
628e9a2b67
fix Bug #293 : CDROM size not reset when set to use no media
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-01-02 06:30:24 +01:00
Alexandre Derumier
044321910c
add set migrate_downtime default value to 0.1 && add number type
...
can be integer or float
ex:
1
1.0
0.3
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-31 07:21:00 +01:00
Stefan Priebe
865ef13278
implement dynamic migration_downtime
...
changelog:
- increment counter also if remaining memory equal 0 (qemu 1.4 migration code)
- only increment coutner and set down_time if memory transfert have occured. (to avoid too fast downtime increment)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-31 07:20:56 +01:00
Dietmar Maurer
7bfdeb5f90
allow manual ballooning if shares is set to zero
2012-12-28 14:06:46 +01:00
Dietmar Maurer
074e01c819
correctly set shares (allow 0)
2012-12-28 14:05:58 +01:00
Dietmar Maurer
ccd5438fa3
fix permission check for option 'shares'
2012-12-28 13:04:19 +01:00
Alexandre Derumier
1ac0d2ee0c
api2: vm_feature
...
return true/false if vm has feature
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-28 07:49:37 +01:00
Alexandre Derumier
7ea975efe0
add sub has_feature
...
loop over each disk of the vm config file to find if feature is available.
If one of the disk doesn't have the feature, we return undef, else return 1
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-28 07:48:33 +01:00
Alexandre Derumier
135007c099
add downtime && expected_downtime query-migrate info
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-27 12:45:56 +01:00
Alexandre Derumier
ab399b7c5d
add error log for qm start of the target vm.
...
Can be usefull to see what's wrong if target vm doesn't start (missing storage, missing bridge,...)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-27 12:44:34 +01:00
Alexandre Derumier
3beb415bd7
move qmp migrate_set_down && migrate_set_speed to qemumigrate
...
so we can set the values when the vm is running
also use int() to get json working
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-27 12:43:39 +01:00
Dietmar Maurer
95381ce06c
use vm_mon_cmd_nocheck at startup
...
To avoid errors on migration.
2012-12-20 12:54:02 +01:00
Dietmar Maurer
4bdb05142c
report balloon_min in bytes (not MBs)
2012-12-19 09:08:16 +01:00
Dietmar Maurer
8d9ae0d21e
enable balloon by default, unless explicitly disabled
...
So that we can get memory stats from the guest.
2012-12-19 07:40:51 +01:00
Dietmar Maurer
8b1accf7ce
add shares property for auto-ballooning
...
Also allow to set 'balloon: 0' to disable the ballon driver.
2012-12-19 07:24:39 +01:00
Dietmar Maurer
64e7fcf2e2
use new query-balloon to get used/free memory
...
Also set stats-polling-interval on the balloon driver at startup.
bump version to 2.3-2
2012-12-18 12:52:18 +01:00
Dietmar Maurer
91bd6c909b
include new qemu backup feature
...
We can still restore old tar files. But new backups always use new vma
format.
Also moved rescan code from qm into PVE::Qemuserver
bump version to 2.3-1
2012-12-13 12:49:52 +01:00
Dietmar Maurer
a0e7a5d00d
also support getfd
2012-12-06 09:01:56 +01:00
Dietmar Maurer
558f16446e
add support for add-fd command
...
We can now pass open file descriptors to qemu.
2012-12-06 08:39:03 +01:00
Dietmar Maurer
98a0dc5e2a
cleanup cpu types
...
Remove: rhel specific types cpu64-rhel6 cpu64-rhel5
Add: SandyBridge Haswell Opteron_G4 Opteron_G5
2012-11-27 06:40:59 +01:00
Dietmar Maurer
fa7ae70505
fix version parser for qemu 1.3
2012-11-23 07:45:46 +01:00
Dietmar Maurer
42ca89538d
qmb balloon command expects bytes
2012-11-16 06:19:56 +01:00
Dietmar Maurer
075b417acd
vzdump: store drive in correct order (sort) to avoid confusion
2012-11-05 06:26:25 +01:00
Dietmar Maurer
4dac70e576
vzdump: restore sata drives correctly
2012-11-02 07:48:42 +01:00
Stefan Priebe
6bb726c903
PVE/API2/Qemu: remove hardcoded blowfish cipher
...
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2012-10-31 13:57:58 +01:00
Dietmar Maurer
b3ea07f71e
fix memory leak in QMP Client (many thanks to Stefan!)
2012-10-29 12:15:43 +01:00
Dietmar Maurer
3da8510790
vncproxy: wait until vnc port is ready
2012-10-24 08:59:31 +02:00
Dietmar Maurer
a70ebde31c
add 'win8' ostype
...
Use same defaults as win7 for now.
2012-10-23 09:36:18 +02:00
Dietmar Maurer
585b6e2839
disable vzdump for VM containing snapshots
2012-09-27 09:42:48 +02:00
Dietmar Maurer
8c55950564
fix bug 251: use new command line syntax
2012-09-26 12:47:32 +02:00
Dietmar Maurer
fe6249f496
reserve more space for live snapshot state (2*memory)
2012-09-25 09:48:29 +02:00
Dietmar Maurer
6d04217600
pass timeout to qmp open_connection
2012-09-25 09:27:24 +02:00
Dietmar Maurer
d5769dc253
migrate volumes used inside snapshots including vmstate
...
Introduce new helper function foreach_volid()
2012-09-25 08:09:50 +02:00
Dietmar Maurer
a06c7f7ec4
fix check for non-shared disks
2012-09-25 07:26:34 +02:00
Dietmar Maurer
9dcf4909f0
updates for async shapshot patch
2012-09-24 10:43:19 +02:00
Dietmar Maurer
681b2404cd
remove timeout when loading state from file.
...
So we finally have no timeout when we migrate a vm or when we load state.
2012-09-20 07:37:35 +02:00
Dietmar Maurer
8c609afd2b
fix syntax error
2012-09-19 12:37:33 +02:00
Dietmar Maurer
62de2cbdfa
we need to continue the VM after loading state
2012-09-19 10:40:30 +02:00
Dietmar Maurer
ab33a7c280
rollback: do important tests before stopping VM
2012-09-19 10:12:12 +02:00
Dietmar Maurer
6c47d54666
allow nexenta snapshots, use new -loadstate option
2012-09-18 09:23:47 +02:00
Dietmar Maurer
e2ea1bf1df
fix syntax error
2012-09-14 13:58:49 +02:00
Dietmar Maurer
bf5104f221
continue VM after snapshot rollback
2012-09-14 13:57:52 +02:00
Dietmar Maurer
6aa4651b89
include additional info in snapshot list
2012-09-13 09:45:48 +02:00
Dietmar Maurer
d191446898
pass 'digest', so that GUI can detect changes easily
...
Also use 'current' instead of '__current'
2012-09-13 09:13:39 +02:00
Dietmar Maurer
a3222b9184
snapshot: save state and implement rollback
...
We automatically stop the VM on rollback, and start it again when there
is saved state.
2012-09-12 13:34:55 +02:00
Dietmar Maurer
9d6890772d
use long timeouts for snapshot monitor command
...
Internal snapshots should be fast, but there is not guarantee.
2012-09-12 13:32:12 +02:00
Dietmar Maurer
18bfb361a0
snapshot: allocate/free volid for VM state
2012-09-12 11:59:48 +02:00
Dietmar Maurer
db7c26e55e
snapshot: don't overwrite main VM description
2012-09-12 10:17:41 +02:00
Dietmar Maurer
6cb1a8cfc1
snapshot_delete: correctly unlink parent refs
2012-09-12 10:10:08 +02:00
Dietmar Maurer
05e5ad3f8e
snapshot_create: correctly set parent when creating a new snapshot
2012-09-12 09:56:50 +02:00
Dietmar Maurer
030dd626f4
snapshot_create: check if vm is running before try to save state
2012-09-12 09:55:56 +02:00
Dietmar Maurer
2009f324ac
snapshot_delete: save changes after each drive snapshot removal
2012-09-12 08:58:33 +02:00
Dietmar Maurer
3ee28e388a
improve snapshot delete - add force option to API
2012-09-12 07:19:38 +02:00
Dietmar Maurer
d788cea673
add API to get/set snapshot configuration.
...
You can currently only modify the 'description'.
2012-09-11 09:34:48 +02:00
Dietmar Maurer
782f4f753f
add description for snapshots
2012-09-11 09:00:26 +02:00
Dietmar Maurer
982c7f1273
add snapshot time stamp
2012-09-11 08:45:39 +02:00
Dietmar Maurer
0ea6bc6943
snapshot list: include current position
2012-09-11 08:33:20 +02:00
Dietmar Maurer
7b2257a8b5
fix typo
2012-09-10 12:08:55 +02:00
Dietmar Maurer
ee2f90b14e
test snapshot capability, fix unused drive handling
2012-09-10 11:49:32 +02:00
Dietmar Maurer
b7ba6b7933
make 'parent' a real option
2012-09-10 10:15:14 +02:00
Dietmar Maurer
79e57b294c
fix snapshot rollback
2012-09-10 10:06:01 +02:00
Dietmar Maurer
ef59d1ca65
do not copy list of unused disk into snapshot config
2012-09-10 09:55:11 +02:00
Dietmar Maurer
f1baf1df42
fix snapshot permissions - check for VM.Snapshot
2012-09-10 09:37:51 +02:00
Dietmar Maurer
8abd398b8a
register standard option for snapshot name
2012-09-10 08:55:04 +02:00
Dietmar Maurer
154ccdcdbc
improve snapshot REST interface
2012-09-10 07:58:06 +02:00
Dietmar Maurer
7e7d7b6113
split snapshot into separate methods.
...
We also start background tasks now. I also removed the 'digest'and 'force' parameters, because I think we do not need them here.
2012-09-10 07:32:33 +02:00
Dietmar Maurer
22c377f0b7
update config on snapshot commands
2012-09-07 13:07:23 +02:00
Dietmar Maurer
0d18dcfc27
add save/load snapshot information, add basic snapshot handling stubs
2012-09-07 11:51:19 +02:00
Alexandre Derumier
fc46aff9fa
add qemu_volume_snapshot_delete
...
We need to split the delvm monitor command, like savevm, to delete snapshot onlinefor each volume (qcow2,sheepdog,rbd)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:47:05 +02:00
Alexandre Derumier
e8f3f18e3d
add qga_unfreezefs
...
empty for now, need to implement
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:47:00 +02:00
Alexandre Derumier
3d5149c925
add qga_freezefs
...
empty for now, need to implement
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:57 +02:00
Alexandre Derumier
ae2aa1a876
add qemu_snapshot_end
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:55 +02:00
Alexandre Derumier
182e97d9b0
add qemu_snapshot_start
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:52 +02:00
Alexandre Derumier
9dbd1ee434
add qm snapshot command
...
qm snapshot <vmid> <action> <snapshotname> --vmstate --freezefs
action : create|rollback|delete
vmstate : save the vmstate
freezefs: freezefs with qemu-ga
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:49 +02:00
Alexandre Derumier
1ab0057c8b
add qemu_volume_snapshot
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:42:44 +02:00
Dietmar Maurer
be79c214ac
set correct default for new 'agent' option
...
We do not enable that by default for now.
2012-09-04 06:46:53 +02:00
Dietmar Maurer
bc84dcca7d
rename option 'qga' to 'agent'
2012-09-04 06:44:08 +02:00
Alexandre Derumier
ab6a046f6b
add qemu guest agent support
...
this add chardev and virtio-serial devices for communication with guest agent.
vmconfig option :
qga: 1
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-04 06:29:10 +02:00
Dietmar Maurer
972511a06a
migrate: disable xbzrle for now.
...
This is not stable, and sometimes cause endless migration (migration never stops).
2012-08-31 11:02:47 +02:00
Dietmar Maurer
94235c592c
avoid warning about uninitialized value
2012-08-30 12:15:07 +02:00
Dietmar Maurer
b0b756c14d
migrate: tolerate query-migrate errors
2012-08-30 09:28:24 +02:00
Dietmar Maurer
9bf371a66b
use mbps instead of bps
...
The new parser automatically converts old bps to mbps.
2012-08-30 07:57:59 +02:00
Dietmar Maurer
f36ed4f4a0
cleanup: split out parse_size
2012-08-29 13:01:52 +02:00
Dietmar Maurer
03e480fce3
allow to specify sata as boot disk
2012-08-29 09:19:21 +02:00
Alexandre Derumier
e18b0b9964
livemigrate : activate xbzrle cache
...
This help migrate for vm with of lot of memory access (like database)
live migration tests working:
kvm 1.2 -> kvm 1.2 (xbzrle set on both side)
kvm 1.1 -> kvm 1.2 (xbzrle on target)
kvm 1.1 -> kvm 1.1 (xbzrle not set, qmp command try to set xbzrle but fail)
failing migration
kvm 1.2 -> kvm 1.1 fail, but this is expected.
I tested with a memory benchmark running on the vm with 4GB ram
without xbzrle : migration take 10min, with many network hang
with xbzrle : migration take 1min, no hang
I display xbzrle counters for debug purpose, we can remove them later
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-29 07:55:21 +02:00
Alexandre Derumier
d454d04033
use scsi-generic by default with libiscsi
...
This add scsi passthrough with libiscsi
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-29 07:50:48 +02:00
Alexandre Derumier
29972af3aa
scsihw: add megasas controller
...
It could be useful for windows7 and windows2008 , as they are no more classic lsi driver for these platform
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-29 07:40:07 +02:00
Dietmar Maurer
2ae10d4e22
fix bug 247: retry qmp open
2012-08-27 13:43:30 +02:00
Dietmar Maurer
14db53662a
set default qmp timout to 3 seconds
...
And allow to pass timeout paramater to vm_qmp_command().
2012-08-27 13:13:36 +02:00
Alexandre Derumier
eb26097ef4
remove qmp socket file on vm_stop_cleanup
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-27 06:59:38 +02:00
Dietmar Maurer
af30308f36
we call vm_stop to target host,
...
to be sure that kvm process is killed (but it should kill itself),
and deactivate volumes
I slightly modified this patch (orig. from Alexandre) so that it apply cleanly.
2012-08-23 10:28:41 +02:00
Alexandre Derumier
e52bd94c7e
live migration: reduce sleep when remaining memory is low
...
Reduce sleep to 0.3s when remaining memory is lower than the average transfert in 1 iteration.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:37:59 +02:00
Dietmar Maurer
f5eb281ad3
cleanup: detete trailing whitespace
2012-08-23 07:36:48 +02:00
Alexandre Derumier
b67900f17a
put target vm in singlestep mode and resume it only when config is moved
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:32:21 +02:00
Dietmar Maurer
d691e6d3ec
pve-bridge: use enviroment variable PVE_MIGRATED_FROM
...
We use environment variable to pass additional information the
the network script.
2012-08-23 07:26:41 +02:00
Alexandre Derumier
7e8dcf2cb0
add migratedfrom param to start vm with conf file an another node
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:18:36 +02:00
Alexandre Derumier
c04b5b04de
implement phase2_cleanup
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:17:15 +02:00
Alexandre Derumier
b8d208023b
move config file in phase3, when live migration is finished
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:16:45 +02:00
Dietmar Maurer
7f4a5b5a6e
fix bug #236 : use correct shutdown timeout
2012-08-21 11:39:17 +02:00
Dietmar Maurer
a265061979
allow only 16 virtio devices
...
This is the same number we have in 1.9. In future, most users will uses virtio-scsi, so there is no real need to support more devices here.
2012-08-21 10:03:17 +02:00
Alexandre Derumier
9862764175
print_pci_addr : check if $bridges is initialized
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-21 09:59:42 +02:00
Alexandre Derumier
40f28a9fd9
add bridge hotplug
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-20 13:19:16 +02:00
Dietmar Maurer
3c770faaf8
fix description for max number of devices
2012-08-20 12:13:15 +02:00
Alexandre Derumier
5bdcf9379d
add pci-bridge support and bump MAX_NET and MAX_VIRTIO to 32 devices
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-20 11:25:48 +02:00
Dietmar Maurer
dab36e1ee9
fix bug 242: re-add old monitor code
2012-08-17 10:34:39 +02:00
Dietmar Maurer
f91b2e4554
fix for resize: final cleanups
2012-08-08 09:25:54 +02:00
Dietmar Maurer
2f48a4f522
fix for resize: only allow to resize one disk.
2012-08-08 08:26:58 +02:00
Dietmar Maurer
3b2773f606
fix for resize: remove useless permission checks
2012-08-08 07:36:51 +02:00
Dietmar Maurer
614e3941a3
fix for resize: avoid conflicting path
2012-08-08 07:34:36 +02:00
Alexandre Derumier
0d02881ce5
qm : add resize
...
qm resize <vmid> -ide1 +10(G|M|K)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-08 07:25:50 +02:00
Alexandre Derumier
c1175c9264
add qemu_block_resize
...
this call storage plugin resize first.
storage plugin will
return undef if we don't need to call qmp block_resize
or
return 1 if we need to call qmp block_resize
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:11:55 +02:00
Dietmar Maurer
af990afe34
correctly use new disksize() method
2012-08-01 13:44:54 +02:00
Dietmar Maurer
24afaca0b6
add size hint to drive options
...
We now store the size when we create a drive. This is just a hint, but
good enough to display on the GUI. We can now avoid to query the storage in
vmstatus().
2012-08-01 13:22:43 +02:00
Dietmar Maurer
93ae06e180
Avoid warnings about undefined values
2012-08-01 13:15:57 +02:00
Dietmar Maurer
b1a470ade6
remove more unused subs
2012-08-01 07:29:23 +02:00
Alexandre Derumier
3ea99fc4a1
remove old subs no more used
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-31 11:12:01 +02:00
Alexandre Derumier
cdd2008803
implement virtio-scsi-pci controller
...
This add the new virtio-scsi controller support.
http://wiki.qemu.org/Features/VirtioSCSI
Guest need kernel >= 3.4 to support. Windows drivers are also available in last virtio-win
Advantages :
- true scsi controller.(like lsi but a lot faster, around 5% slower than virtio-blk)
- multiples disk by controller (256 for now)
- scsi passthrough
- discard support (great for ssd or thinp storages)
- bootable
Hotplug is not yet available in 1.1. (already available in git)
to define lsi or virtio-scsi-pci controller for scsi disk:
scsihw: lsi|virtio-scsi-pci
default is lsi if not defined.
A megasas controller is comming form qemu 1.2, so we'll able to simply add it in the list of scsi controllers
lsi0 and lsi1 controllers have been renamed to generic scsihw0 and scsihw1,
so we can use them for both lsi or virtio-scsi controller type. (and use same pci slot addr).
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-31 11:11:19 +02:00
Dietmar Maurer
eabe0da02d
bug fix: allow to set devices directly (-ide1 /dev/XYZ)
2012-07-27 11:59:42 +02:00
Alexandre Derumier
2a7993d9ef
replace file_size_info by volume_size_info.
...
Currently we only find a volume size by using qemu-img info (in file_size_info).
This doesn't works with "virtual" storage like sheepdog,rbd,iscsidirect,nexenta.
This also doesn't work with classic iscsi direct plugin.
So, we need to define a method for each plugin.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:51:23 +02:00
Dietmar Maurer
373ea5798a
migrate: only scan available storages
2012-07-16 10:20:36 +02:00
Alexandre Derumier
0f56d571e4
implement qmp block_set_io_throttle on running vm config update
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-16 09:20:49 +02:00
Alexandre Derumier
f3f323a3fc
fixes for qemu_block_set_io_throttle
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-16 09:19:38 +02:00
Dietmar Maurer
522c8f97d7
code cleanup, bump version to 2.0-44
2012-07-16 07:00:28 +02:00
Alexandre Derumier
80b2cbd1b9
migrate: syncdisk : avoid scanning shared storage
...
Currently we get list from PVE::Storage (for unused volumes), from all storage.
If something goes wrong with the network on host and thenwe can't communicate with a network shared storage(sheepdog,rbd,..),
the vdisk_list die (timeout) and we cannot migrate the vm on another kvm host.(online or offline).
We don't need to scan shared storage, as they are no disk to sync.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-16 06:52:35 +02:00
Dietmar Maurer
a05b47a8a8
migrate: fix warning about uninitialized values
...
And display acurate byte values instead of KB
2012-07-13 12:37:19 +02:00
Dietmar Maurer
f0002f62f1
fix command timeout
2012-07-13 12:36:40 +02:00
Dietmar Maurer
03a33f3005
new option for vmstatus to query $full informations from KVM using qmp
2012-07-13 09:31:39 +02:00
Dietmar Maurer
7b7c6d1b5d
use qmp for everything - remove old monitor code
2012-07-13 09:00:21 +02:00
Dietmar Maurer
ceea9078ad
use qmp for vm_devices_list
2012-07-13 08:42:13 +02:00
Dietmar Maurer
9df5cbcc70
implement vm_human_monitor_command using qmp
2012-07-13 07:30:13 +02:00
Dietmar Maurer
26f11676c7
use new QMPClient code
2012-07-13 07:21:34 +02:00
Dietmar Maurer
30a3378acd
add PVE::QMPClient.pm
...
This is experimental code, not used currently.
2012-07-12 12:28:27 +02:00
Alexandre Derumier
ae287df075
qmp_read_available : correctly handle end of response
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-10 10:10:06 +02:00
Dietmar Maurer
bcb7c9cff5
fix whitespace errors
2012-06-26 06:42:18 +02:00
Alexandre Derumier
ce156282e6
convert eject cdrom monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:39:53 +02:00
Alexandre Derumier
5a7835f572
convert migrate monitor commands to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:38:34 +02:00
Alexandre Derumier
608164747f
convert cont monitor command (in vm_start) to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:35:35 +02:00
Alexandre Derumier
ec843725c7
convert migrate_set_downtime monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:34:56 +02:00
Alexandre Derumier
2f674c7a5f
convert migrate_set_speed monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:34:23 +02:00
Alexandre Derumier
988903cab5
convert system_powerdown and stop nocheck monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:33:34 +02:00
Alexandre Derumier
816e2c4a53
convert system_reset monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:31:57 +02:00
Alexandre Derumier
6f1dbbea52
convert block_io_throttle monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:31:39 +02:00
Alexandre Derumier
2d23ddc5db
convert balloon monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:31:13 +02:00
Alexandre Derumier
12060fe8c3
convert cont monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:30:45 +02:00
Alexandre Derumier
f77f91f3d4
convert stop monitor command to qmp
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:30:29 +02:00
Alexandre Derumier
0eedc444b7
add vm_mon_cmd and vm_mon_cmd_nocheck wrapper
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:29:54 +02:00
Alexandre Derumier
d967756b10
vm_qmp_command : reworks of the sub
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:26:40 +02:00
Alexandre Derumier
f667373f27
qmp_read_avail : reworks
...
qmp response could me more than 1 json.
we can have 1 json with event info, and 1 json with return infos.
We die if we receive an error message in response.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-26 06:21:02 +02:00
Alexandre Derumier
35cb731c42
check if volume exist on volume update.
...
for the moment we check only if the real path exist on the host.
This doesn't work for "virtual" device that host doesn't see.(like rbd, virtio-scsi,...).
This add a check if the volid exist in the storage.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-25 06:51:17 +02:00
Dietmar Maurer
97d62eb73c
fix coding style
2012-05-30 12:08:33 +02:00
Alexandre Derumier
c971c4f221
add basic qmp support
...
this add qmp socket to kvm process
and anew sub copied from vm_monitor_command:
vm_qmp_command ($vmid, $cmdstr, $nocheck)
$cmdstr could be a simple command to be executed, without argument
vm_qmp_command($vmid,"stop");
or a complex hash with arguments
$cmdstr->{execute}="eject";
$cmdstr->{arguments}->{device}="ide1-cd0";
vm_qmp_command($vmid,$cmdstr);
documentation about qmp commands is here
http://git.qemu.org/?p=qemu.git;a=blob;f=qmp-commands.hx;h=db980fa811325aeca8ad43472ba468702d4a25a2;hb=HEAD
Code must be polish a little more, but it's a start.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-05-30 11:51:16 +02:00
Dietmar Maurer
4fc5242406
fix pool permission checks on create
...
We do not need Permission.Modify on the pool.
2012-05-30 10:13:51 +02:00
Alexandre Derumier
7e4e69a6d2
die if vdisk_free fail on delete_drive
...
replace the warn by a die.
Currently, if we vdisk_free a disk and something goes wrong (network
storage problem by example), the drive is removed from config and we
cannot retry to remove it later.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-05-29 07:59:06 +02:00
Dietmar Maurer
f5bdefa483
fix cluster_lock_storage() call
2012-05-24 07:24:24 +02:00
Dietmar Maurer
5d0094ead9
avoid warning if vm does not belong to a pool
2012-05-23 07:42:55 +02:00
Dietmar Maurer
a125592ce0
minor fixes for newer pve-storage versions
2012-05-23 07:24:15 +02:00
Alexandre Derumier
affd2f88ea
add diskio throttling option to drive
...
This add disk io limit to drive options.
I also add the qemu monitor command, but I din't have added yet to Qemu.pm
>From qemu mailing:
Some available features follow as below:
(1) global bps limit.
-drive bps=xxx in bytes/s
(2) only read bps limit
-drive bps_rd=xxx in bytes/s
(3) only write bps limit
-drive bps_wr=xxx in bytes/s
(4) global iops limit
-drive iops=xxx in ios/s
(5) only read iops limit
-drive iops_rd=xxx in ios/s
(6) only write iops limit
-drive iops_wr=xxx in ios/s
(7) the combination of some limits.
-drive bps=xxx,iops=xxx
Known Limitations:
(1) #1 can not coexist with #2 , #3
(2) #4 can not coexist with #5 , #6
(3) When bps/iops limits are specified to a small value such as 511 bytes/s,
this VM will hang up. We are considering how to handle this senario.
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-05-14 06:48:05 +02:00
Dietmar Maurer
41e7bdb916
removed startall/stopall commands
...
Because we now support startup priorities, and start/stop order must include containers
2012-04-20 09:30:42 +02:00
Dietmar Maurer
59411c4e10
new startup option to define startup order
2012-04-19 14:28:05 +02:00
Dietmar Maurer
71c11a8301
fix bug #147 : allow to set migrate_downtime to 0
2012-04-11 10:54:04 +02:00
Alexandre Derumier
e482cec30b
add directsync cache mode
...
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-04-10 09:21:28 +02:00
Dietmar Maurer
22d646a733
fix bug in storage availability check (migrate)
2012-04-07 08:26:51 +02:00
Dietmar Maurer
b7e0c8bf39
use '-no-kvm-pit-reinjection -no-hpet' for win7 and w2k8
2012-04-05 12:34:33 +02:00
Dietmar Maurer
d7810bc123
fix bug #134 : allow to pass file names to qmrestore and 'qm set'
2012-04-02 10:52:05 +02:00
Dietmar Maurer
47152e2ee3
fix bug #12 : check storage availability early (migrate)
2012-03-30 09:13:31 +02:00
Dietmar Maurer
8b192abf57
fix bug #121 : activate volumes correctly
2012-03-29 11:09:52 +02:00
Dietmar Maurer
036e0e2b4b
correctly pass hexadecimal numbers with prefix 0x to kvm
...
This is related to this change in kvm:
http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commitdiff;h=97aa6e9b8f9df37add21d86fac1a9ca6ce7df9b7
2012-03-29 07:12:43 +02:00
Dietmar Maurer
cce3774992
do not use clusvcadm if we start using 'starturi' parameter
2012-03-27 12:21:15 +02:00
Dietmar Maurer
3be30d6325
avoid recursive calls to clusvcadm
2012-03-27 10:55:59 +02:00
Dietmar Maurer
88fc87b467
fix bug #97 : execute 'clusvcadm' commands for HA managed VMs
2012-03-27 10:37:39 +02:00
Dietmar Maurer
191435c643
only wait 1 second to aquire lock on vm_create
...
Waiting is not necessary, and we want to avoid delays in the GUI.
2012-03-27 09:02:50 +02:00
Dietmar Maurer
18744ba33f
corretcly use tag instead of vlan
2012-03-22 06:30:43 +01:00
Derumier Alexandre
5070f384d1
renamme vlan option to tag
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-03-22 06:27:58 +01:00
Dietmar Maurer
fc1ddcdcae
use Digest::SHA instead of Digest::SHA1
2012-03-20 12:25:08 +01:00
Derumier Alexandre
3c720aeac6
add vlan for testing
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-03-20 06:12:46 +01:00
Dietmar Maurer
28ef82d3be
use scsi inquiry to test if we can use the scsi-block driver
...
This is basically the same test as done inside the scsi-block driver. This also works for device-mapper multipath devices.
2012-03-19 10:39:43 +01:00
Dietmar Maurer
7fabe17df2
restrict name to DNS format 'dns-name'
2012-03-13 07:00:27 +01:00
Dietmar Maurer
961bfcb224
fix bug 102: remove stale status file on stop
2012-03-01 12:54:06 +01:00
Dietmar Maurer
0581fe4fd6
save description as comment
2012-03-01 08:13:14 +01:00
Dietmar Maurer
3f05af61ff
fix lvremove call: avoid 'Not a CODE reference' warning
2012-03-01 06:37:18 +01:00
Dietmar Maurer
684bcdd7a4
revert tablet mice fix
2012-02-29 09:47:31 +01:00
Derumier Alexandre
ce332eeb58
fix tablet mice as default when live migrate
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-02-29 06:49:57 +01:00
Dietmar Maurer
b969cc68fd
fix vzdump on stopped vm
2012-02-24 07:40:12 +01:00
Derumier Alexandre
5b805e5081
Support new cpu models
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-02-22 07:18:07 +01:00
Dietmar Maurer
f5782fd0ad
fix cdrom permission check
2012-02-20 07:17:47 +01:00
Dietmar Maurer
49f9db93c0
correctly remove cdrom and iscsi devices
2012-02-15 10:48:55 +01:00
Dietmar Maurer
da21653bfb
ignore -tdf (avoid kvm warning) - this is no longer needed
2012-02-13 11:18:09 +01:00
Dietmar Maurer
3e21388903
move test for block device to vmtar.c
2012-02-10 07:47:46 +01:00
Dietmar Maurer
a9a94d59f3
only use sparse file scan for files
2012-02-07 11:55:57 +01:00
Dietmar Maurer
6e5c4da7ef
fix typo
2012-02-07 10:44:43 +01:00
Dietmar Maurer
efb71b0f8c
do not write /etc/mtab when mounting snapshots
2012-02-07 10:41:13 +01:00
Dietmar Maurer
fad02a160f
support new lzo compression
2012-02-07 10:40:28 +01:00
Dietmar Maurer
ab6b35dfdf
fix typo
2012-02-06 12:52:29 +01:00
Dietmar Maurer
ba68cf0938
use check_volume_access from $rpcenv
2012-02-06 12:36:16 +01:00
Dietmar Maurer
fcbb753e3c
use check() instead of check_storage_perm()
2012-02-06 12:19:35 +01:00
Derumier Alexandre
95d6343bfa
don't try to hotplug/unplug is device exist/don't exist
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-02-06 07:26:38 +01:00
Dietmar Maurer
502d18a2e7
correctly add/remove VMs to pool
2012-02-03 13:44:12 +01:00
Dietmar Maurer
ae9ca91d80
fix typo
2012-02-03 13:13:47 +01:00
Dietmar Maurer
09d0ee6473
fix CD eject
2012-02-03 10:49:37 +01:00
Dietmar Maurer
ae57f6b352
cleanup update_vm - factor out code to make is simpler
2012-02-03 10:23:50 +01:00
Dietmar Maurer
1858638fe3
replace change_config_nolock with update_config_nolock
...
We now use cfs_file_write() in order to avoid race conditions between
file IO and cfs operations (read after write works now).
2012-02-02 14:18:41 +01:00
Dietmar Maurer
5d7a6767be
cleanup update_vm - carefully reload config after changes
...
Split out code to delete drive into delete_drive()
Always hotplug after config is written and reloaded.
Do not revert config if hotplug fails.
Do not safe config in add_unused_volume.
2012-02-02 10:57:16 +01:00
Dietmar Maurer
1e68cb191a
cleanup update_vm - always reload config
...
And moved parameter parsing code to top.
2012-02-02 08:35:11 +01:00
Dietmar Maurer
0532bc6391
cleanup update_vm - move param checks to start of function
2012-02-02 07:19:46 +01:00
Dietmar Maurer
a0d1b1a2fe
start adding permission checks
2012-02-02 06:57:47 +01:00
Derumier Alexandre
26ee04b6a0
add ahci controller
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-02-02 06:21:47 +01:00
Derumier Alexandre
cdb0931f68
add sata hdd support
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-02-02 06:21:42 +01:00
Derumier Alexandre
5f0c4c32f2
cleanup warning messages
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-30 06:13:14 +01:00
Derumier Alexandre
2630d2a958
add qemu_netdevadd, qemu_netdevdel and add them in hotplug code
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-30 06:06:24 +01:00
Derumier Alexandre
cc4d61824c
add print_netdevice_full, print_netdev_full subs
...
and change code to use it
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-30 05:58:29 +01:00
Derumier Alexandre
3a1e36bb5a
add nic hotplug to update_vm
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-30 05:54:54 +01:00
Dietmar Maurer
5d39a18227
add lock around update_vm code
2012-01-27 09:53:48 +01:00
Dietmar Maurer
afdb31d5f8
removed trailing whitespace
2012-01-27 09:35:26 +01:00
Derumier Alexandre
c2a64aa7cf
update_vm rework
...
now we write conf after each option.
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-27 05:55:00 +01:00
Dietmar Maurer
378b359eef
use new syntax for permission attribute
2012-01-23 11:59:28 +01:00
Derumier Alexandre
fcdb011702
rework of hotplug/unplug in Qemu.pm
...
manage errors on more than 1 device
use unused disk for new created disk but failed hotplug
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-23 09:15:57 +01:00
Derumier Alexandre
a4f091a073
add scsi disk hotplug/unplug
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-23 09:14:31 +01:00
Derumier Alexandre
cfc817c710
add lsi controller hotplug
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-23 09:13:01 +01:00
Derumier Alexandre
5e5dcb7362
create qemu_deviceadd, qemu_devicedel, qemu_driveadd, qemu_drivedel, qemu_deviceaddverify, qemu_devicedelverify
...
and replace code in vm_deviceplug/vm_deviceunplug
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-23 09:09:15 +01:00
Derumier Alexandre
7ebe888a03
print_drivedevice_full : change deviceid: device-scsi to scsi and device-ide to ide
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-23 09:07:21 +01:00
Derumier Alexandre
ec21aa112d
rename vm_deviceadd to vm_deviceplug, and vm_devicedel to vm_deviceunplug
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-23 09:06:24 +01:00
Derumier Alexandre
69b6ae0ce3
rename scsicontroller deviceid from scsi0/1 to lsi0/1
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2012-01-23 09:05:34 +01:00
Dietmar Maurer
b6f39da2af
use new assemble_vnc_ticket
2012-01-19 09:31:40 +01:00
Dietmar Maurer
f0cab979e5
catch exception when storage does not exists
2012-01-17 13:12:40 +01:00
Dietmar Maurer
254575e971
fix bug #81 : do no deactivate volumes in vzdump stop mode
...
We add a keepActive parameter to stop/shutdown API.
2012-01-17 11:56:56 +01:00
Dietmar Maurer
97439670bc
online migration fix: close tunnel later, wait for connection close
2012-01-17 11:25:44 +01:00
Dietmar Maurer
e95fe75f86
use 'da' instead of 'dk' for Danish keyboard
...
Qemu use that name.
2012-01-09 11:51:28 +01:00
Dietmar Maurer
8610701ae6
add ha flag to status info
2011-12-22 13:18:37 +01:00
Dietmar Maurer
1061648ed4
use timeout flag instead of wait command
2011-12-16 06:35:07 +01:00
Dietmar Maurer
745fed70c0
do not raise exceptions in vm_stop_cleanup
2011-12-16 06:34:35 +01:00
Dietmar Maurer
4d81a1d327
dont raise errors if not needed
2011-12-16 06:32:09 +01:00
Dietmar Maurer
9269013a93
implement forceStop for vm_shutdown
2011-12-15 12:58:29 +01:00
Dietmar Maurer
17eed025b3
use PVE::Tools::run_with_timeout
2011-12-15 11:29:01 +01:00
Derumier Alexandre
231f2e13cb
scsi-block auto detection
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-12-13 10:45:39 +01:00
Dietmar Maurer
0888fdce30
fix bootorder
2011-12-08 11:41:58 +01:00
Dietmar Maurer
1c06086781
do not use ehci by default
...
Because the ehci driver blocks migration (ehci is currently not migratable)
2011-12-08 10:26:59 +01:00
Dietmar Maurer
d68afb26bf
improve error message
2011-12-08 10:07:19 +01:00
Dietmar Maurer
72afda82a1
fix migration tunnel
2011-12-08 09:32:09 +01:00
Dietmar Maurer
2b5569777b
use cache=none by default (for raw format)
2011-12-07 12:02:34 +01:00
Dietmar Maurer
3b408e826c
use new bootindex option
2011-12-07 11:54:31 +01:00
Dietmar Maurer
2ed36a412c
code cleanup
2011-12-07 11:41:27 +01:00
Dietmar Maurer
46a84fd400
replace logmsg() with $self->log()
2011-12-07 11:25:20 +01:00
Dietmar Maurer
a3c5221310
fix version parser for qemu-kvm 1.0
2011-12-07 11:16:57 +01:00
Dietmar Maurer
16e903f2dc
use new AbstractMigrate.pm
2011-12-07 06:36:20 +01:00
Derumier Alexandre
2b05ac1331
add ide-cd, ide-hd, scsi-cd, scsi-hd, scsi-block to device syntax
...
ide-cd, ide-hd replace old ide-drive legacy syntax
scsi-cd, iscsi-hd replace old ide-drive legacy syntax
scsi-block is new in qemu 1.0
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-12-07 06:24:36 +01:00
Dietmar Maurer
02d07cf579
fix vm_shutdown bug - pass storecfg parameter
2011-11-30 09:33:43 +01:00
Dietmar Maurer
4bb5a31707
cleanup error messages
2011-11-29 12:43:34 +01:00
Dietmar Maurer
bbbe5146ff
fix stopall
2011-11-29 11:14:26 +01:00
Dietmar Maurer
3bcea617bd
be more careful when removing snapshots
2011-11-29 06:25:09 +01:00
Dietmar Maurer
b7eeab2151
we can only resume a VM which is running
2011-11-29 06:24:55 +01:00
Dietmar Maurer
a5ed42d347
try to detect errors before starting the background task
2011-11-25 13:25:32 +01:00
Dietmar Maurer
15f231e1c7
do not call check_lock() for sendkey
2011-11-25 13:20:58 +01:00
Dietmar Maurer
ff1a2432c8
activate LVM LVs more carefully
...
And remove syslog whenever possible (we run most commands as tasks, so
the output is loged anyways)
2011-11-25 08:08:27 +01:00
Dietmar Maurer
48e1a963f4
set correct migrate speed
...
We overwrite slow kvm default.
2011-11-23 09:13:33 +01:00
Dietmar Maurer
971f27c404
improve error message when archive does not exist
2011-11-23 07:30:43 +01:00
Dietmar Maurer
cf3298e611
fix vzdump stop mode
2011-11-21 06:38:11 +01:00
Dietmar Maurer
ae4915a20d
fix cpu usage
2011-11-18 09:35:32 +01:00
Dietmar Maurer
5534dd1ad1
add cache=unsafe mode
2011-11-18 05:48:52 +01:00
Dietmar Maurer
a591eebacb
only raise exception when parameter -force is set
2011-11-17 13:36:56 +01:00
Dietmar Maurer
91c94f0a23
implement monitor API
2011-11-09 08:26:46 +01:00
Dietmar Maurer
4f1be36cdc
allow node name 'localhost'
2011-11-03 07:39:01 +01:00
Dietmar Maurer
3ada46c9b1
use split_args from PVE::Tools
2011-10-25 12:19:36 +02:00
Dietmar Maurer
2415a44601
use shellquote from PVE::Tools
2011-10-25 11:37:56 +02:00
Dietmar Maurer
5b9d692ae7
allow to pass volume IDs in create_vm (restore)
2011-10-20 11:18:46 +02:00
Dietmar Maurer
bc4dcb99a1
test for CLI when using pipe
2011-10-20 10:51:28 +02:00
Dietmar Maurer
4925fe8ec1
fix shell quoting
2011-10-20 06:39:45 +02:00
Dietmar Maurer
9c502e26f3
enable piped input with qmrestore
2011-10-19 11:27:42 +02:00
Derumier Alexandre
58dc808de2
bugfix scsicontroller
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-19 06:06:09 +02:00
Dietmar Maurer
51586c3a4c
implement unique option for restore
...
Also try to convert old vlanX to new netX syntax.
2011-10-18 09:14:05 +02:00
Dietmar Maurer
a6af7b3e35
destroy old data when restore with --force
2011-10-18 07:42:29 +02:00
Dietmar Maurer
3e16d5fc60
implement qmrestore
...
Restore is a special case of create_vm.
2011-10-17 13:51:05 +02:00
Dietmar Maurer
66ab1d916c
fix vzdump plugin for 2.0
2011-10-14 11:05:06 +02:00
Derumier Alexandre
f19d1c4790
Fix/cleanup disk hotplug
...
- pass $conf to create_disks sub
- add some checks on results of "drive_del","drive_add","device_del","device_add"
- replace "sleep 2" by iterative sub vm_waitfordevicecleanup
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-14 10:20:05 +02:00
Dietmar Maurer
43779a7baa
remove wrong inline comment
2011-10-12 07:42:11 +02:00
Dietmar Maurer
1dc4f49676
further code cleanups
2011-10-11 13:30:18 +02:00
Dietmar Maurer
e8b9c17cac
use 'boolean' for hotplug option
...
cleanup coding style
2011-10-11 13:22:40 +02:00
Derumier Alexandre
2bbed6c09a
add a hook to call vm_devicedel with disk is removed from configuration
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-11 13:13:05 +02:00
Derumier Alexandre
2ddd3d2e46
add a hook to call vm_deviceadd when the disk in config file are added
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-11 13:12:46 +02:00
Derumier Alexandre
873c2d698f
add vm_devicedel sub
...
use qm monitor to hot-unplug device.
Currently only virtio disk
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-11 13:12:28 +02:00
Derumier Alexandre
a4dea33125
add vm_deviceadd sub
...
use qm monitor to hotplug pci device
currently only virtio disk
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-11 13:12:13 +02:00
Derumier Alexandre
86fdcfb229
add vm_devices_list sub
...
parse qemu "info pci" result
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-11 13:11:54 +02:00
Derumier Alexandre
2ff09f52e8
Add hotplug option
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-11 13:11:05 +02:00
Dietmar Maurer
c6bb9502db
add timeout parameter for stop/shotdown
2011-10-11 11:58:34 +02:00
Dietmar Maurer
5fdbe4f023
create background tasks
2011-10-10 13:17:40 +02:00
Dietmar Maurer
be62c45cf9
cleanups
2011-10-05 10:16:20 +02:00
Dietmar Maurer
9f91ff0281
use random_ether_addr() from PVE::Tools
2011-10-05 09:24:49 +02:00
Derumier Alexandre
e5f7f8ed0f
remove net6 reservation and add comments for addr1, 2, 29
2011-10-05 06:40:42 +02:00
Derumier Alexandre
f290f8d92b
fix net device pci addr
2011-10-04 09:06:56 +02:00
Derumier Alexandre
4513fd8304
fix scsi controllers pci addr
2011-10-04 09:06:52 +02:00
Derumier Alexandre
0a40e8eab5
fix watchdog pci addr
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-04 07:54:21 +02:00
Derumier Alexandre
b78ebef7e7
fix hostpci addr
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-04 07:54:16 +02:00
Derumier Alexandre
13b5a75337
Fix balloon0 device pci addr
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-10-03 07:44:58 +02:00
Dietmar Maurer
32baffb4e0
change default boot order to cdn
2011-09-29 07:43:05 +02:00
Dietmar Maurer
5ee957cced
only list 'qemu' VMs
2011-09-26 12:20:05 +02:00
Dietmar Maurer
7878afeb10
cleanup balloon patch - removed debug code
2011-09-16 06:57:54 +02:00
Derumier Alexandre
13a4862059
Balloon ugly hack
...
add balloon: parameter to config file
and set balloon at vm start.
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-16 06:40:12 +02:00
Dietmar Maurer
6b64503eb2
fix coding style
2011-09-15 09:11:27 +02:00
Dietmar Maurer
e6c3b671bf
fix online migration
2011-09-15 08:31:17 +02:00
Derumier Alexandre
72a063e494
add print_pci_addr
...
contain devices pci addr and bus mapping
return formated string with bus=pci.x,addr=x
also in this commit, use it for virtio disk
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-15 08:08:47 +02:00
Dietmar Maurer
3ea94c60d2
move code from qmigrate into PVE/QemuMigrate.pm
...
and make migrate a subcommand of qm
2011-09-14 13:33:34 +02:00
Dietmar Maurer
694fcad480
use new PVE::ProcFSTools::read_proc_pid_stat()
2011-09-14 07:55:34 +02:00
Dietmar Maurer
19672434df
delete trailing whitespaces
2011-09-12 12:26:00 +02:00
Dietmar Maurer
7f0b5bebc6
check hvm support before starting VM
2011-09-12 11:03:14 +02:00
Dietmar Maurer
34978be308
fix serial/parallel option - check if device really exists
2011-09-12 08:59:05 +02:00
Dietmar Maurer
e0ab7331aa
remove support for old hostusb syntax
2011-09-12 08:41:28 +02:00
Dietmar Maurer
ca0cef2624
Simplify serial/parallel option parser
...
Remove verify()/parse() methods, because the json schema does
that job already (pattern option)
2011-09-12 07:44:02 +02:00
Dietmar Maurer
2fe1a152f4
Simplify schema for serial/parallel options (use pattern)
2011-09-12 07:08:01 +02:00
Derumier Alexandre
1989a89c95
parallel : new qemu syntax V2
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-12 06:52:34 +02:00
Derumier Alexandre
bae179aa1c
serial : new qemu syntax V2
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-12 06:51:47 +02:00
Derumier Alexandre
040b06b73e
Hostpci rework v4
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-12 06:50:01 +02:00
Dietmar Maurer
0d29ab3bd2
fix build error
2011-09-09 14:18:11 +02:00
Derumier Alexandre
941e0c42a5
Add scsi controllers V2
...
only if scsi disk exists
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-09 12:20:19 +02:00
Dietmar Maurer
64e1340181
New method to check if VM uses local resources
2011-09-09 12:13:21 +02:00
Dietmar Maurer
a78ccf26fc
Add node parameter to config_file()
...
That way we can get the filename for VMs on remove nodes.
2011-09-09 09:47:54 +02:00
Dietmar Maurer
0ea9541da0
Add watchdog support
2011-09-08 11:39:56 +02:00
Derumier Alexandre
abb39b66d7
convert old monitor syntax to chardev
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-08 08:27:34 +02:00
Derumier Alexandre
ca916eccfb
add print_drivedevice_full sub for disk -device syntax
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-08 08:09:25 +02:00
Derumier Alexandre
3ebfcc8613
change print_drive sub to new device syntax
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-08 08:03:46 +02:00
Derumier Alexandre
f62db2a438
Set max nics=6, max virtio disk=6 and scsi disk to 14 (because we cannot set more than 7 disk by scsi controller)
...
Signed-off-by: Derumier Alexandre <aderumier@odiso.com>
2011-09-08 07:43:49 +02:00
Dietmar Maurer
554ac7e7b7
Add digest to prevent concurrent changes
2011-09-07 11:41:34 +02:00
Dietmar Maurer
1e3baf05f2
imported from svn 'qemu-server/pve2'
2011-08-23 07:47:04 +02:00