Fabian Grünbichler
bcb51ae8f9
mtunnel: add and handle OK/ERR replies
...
because we want commands to return meaningful errors, and
print them on the client/source side.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-08-07 09:23:56 +02:00
Fabian Grünbichler
79c9e07933
qm mtunnel: add write helper
...
reduce code duplication.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-08-07 09:23:56 +02:00
Fabian Grünbichler
58cbe63901
migrate: read mtunnel version
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-08-07 09:23:56 +02:00
Fabian Grünbichler
d851846929
qm mtunnel: add tunnel version
...
to allow detection of supported features/commands for these
and future mtunnel changes.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-08-07 09:23:56 +02:00
Fabian Grünbichler
e0eb1f7677
migrate: refactor mtunnel read/write
...
to make adding new commands and reading replies easier
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-08-07 09:23:56 +02:00
Fabian Grünbichler
d7b1b24b6f
migrate: switch back to qm mtunnel
...
to allow adding guest specific commands to the tunnel
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-08-07 09:23:56 +02:00
Wolfgang Link
278e2c9dd6
Fix freeze_needed
...
We want freeze the filesystem if the vmstate is not saved, because when we save the state we need not to freeze the filesystem.
2017-07-31 08:28:48 +02:00
Thomas Lamprecht
a2a5cd64ab
use machine version in vga default type selection
...
If we get an VM machine older than 2.9 we use the old selection
expression for the VGA type. This allows to live migrate VMs to PVE
5.0 from beta 1 and PVE 4.4 again.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-07-17 11:16:49 +02:00
Dominik Csapak
8aca16542e
fix disk throttling syntax
...
the syntax was wrong, it was (e.g. for iops-write):
throttling.iops-write=-max100
instead of
throttling.iops-write-max=100
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-07-14 15:15:11 +02:00
Emmanuel Kasper
c7db1e40c4
Fix #1417 : make sure the target storage allows disk images before importing
...
This was fixed in c46366fd49
for 'qm create', but 'qm importdisk' has the same issue
2017-07-13 06:45:58 +02:00
Emmanuel Kasper
171ed95c76
Use default values when memory is not set in vm.conf when migrating
...
This fixes a "Use of uninitialized value in multiplication (*) "
warning when doing a migration
2017-07-03 14:37:00 +02:00
Wolfgang Bumiller
bf1312d811
cleanup: more the new-disk regex deduplication
2017-06-30 09:31:29 +02:00
Dominik Csapak
c46366fd49
fix #1417 : check if storage has 'images' set in content
...
otherwise, qm and the api ignore this setting completely when creating
a vm
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-30 09:26:53 +02:00
Wolfgang Bumiller
85909c04c4
don't use cirrus by default for sane OS'
...
(It can stay for $winversion < 6 because then you probably
don't have drivers for anything else.)
this is long overdue
2017-06-28 12:07:16 +02:00
Wolfgang Link
223e032b74
Remove guest states to ensure no old states are exists
2017-06-27 15:31:41 +02:00
Wolfgang Bumiller
9b1396edd2
allow disks on shared storages on replicated VMs
2017-06-27 15:22:08 +02:00
Wolfgang Bumiller
17677004cc
refuse to add non-replicatable disks to replicating VMs
...
Unless replication is explicitly disabled for them.
2017-06-27 10:37:07 +02:00
Thomas Lamprecht
0276584456
API HA tasks: we request states not execute them
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-06-27 07:59:12 +02:00
Wolfgang Bumiller
5282865bf8
config: has_feature() take default for backup into account
2017-06-27 06:25:24 +02:00
Thomas Lamprecht
da18cc9300
migrate: use 'mtunnel' from pvecm
...
qm mtunnel was deemed as deprecated but still in use here.
Switch over to pvecm's mtunnel to allow removing the qm variant in
PVE 5.1
Also use an absolute path so we do not depended on the targets
environment variables
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2017-06-23 11:00:52 +02:00
Wolfgang Bumiller
6f58fce9ee
migrate: pass the with_snapshots parameter
2017-06-22 12:58:14 +02:00
Dietmar Maurer
54d10ab121
PVE::QemuMigrate. do not use JSON - not required here
2017-06-22 08:51:38 +02:00
Dietmar Maurer
d652f7b1ab
PVE/QemuMigrate.pm: use new replication job helpers from AbstractMigrate
2017-06-21 12:27:45 +02:00
Dietmar Maurer
f6a17ff5e3
Change target in replication-state when replication direction is switched
2017-06-21 10:59:45 +02:00
Dietmar Maurer
dbc9420b0b
PVE/QemuMigrate.pm: use replication job, transfer replication state
2017-06-20 12:42:51 +02:00
Dietmar Maurer
a6cb40f786
get_replicatable_volumes: move checks to top
...
those checks do not depend on anything we do in the sub, so we can do
them at the beginning.
Also respect the $noerr flag (do not raise exceptions in that case).
2017-06-14 07:24:29 +02:00
Dietmar Maurer
4ab3bcc82a
get_replicatable_volumes: fix CDROM and local file/device handling
2017-06-14 07:01:36 +02:00
Dominik Csapak
6f249d9400
use the full package to call storage_config
...
because it is not in the local scope
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-13 17:09:09 +02:00
Dietmar Maurer
5009a8c755
PVE/QemuMigrate.pm: fix syntax errors
2017-06-13 11:56:26 +02:00
Dietmar Maurer
8299257eaf
get_replicatable_volumes: add unused volumes
2017-06-13 11:51:14 +02:00
Dietmar Maurer
f7e7767fed
get_replicatable_volumes: skip volumes if we do not 'own' them
...
And add and additional check for vtype 'images'.
2017-06-13 11:26:47 +02:00
Dietmar Maurer
aee6abe5ba
PVE/QemuMigrate.pm - use PVE::QemuServer::foreach_volid
2017-06-13 11:26:47 +02:00
Dietmar Maurer
39019f75c7
PVE::QemuServer::foreach_volid - record snapshot references
...
So that we can test if a volume is referenced in the main config, and/or
inside a snapshot config.
2017-06-13 09:02:06 +02:00
Dietmar Maurer
f949eb7760
get_replicatable_volumes: use PVE::QemuServer::foreach_volid
2017-06-13 09:02:06 +02:00
Dietmar Maurer
392f8b5dff
PVE::QemuServer::foreach_volid - pass $attr hash to callback
...
That way we can pass more informations, i.e. the 'replicate' attribute.
2017-06-13 09:02:06 +02:00
Dietmar Maurer
a722d4ffe0
get_replicatable_volumes: skip volumes on shared storage
2017-06-13 09:02:06 +02:00
Dietmar Maurer
c78f43b921
get_replicatable_volumes: add $vmid parameter
2017-06-13 09:02:06 +02:00
Dietmar Maurer
7c876ec165
PVE/API2/Qemu.pm: cleanup - remove unused $upid parameter
2017-06-12 11:09:47 +02:00
Dietmar Maurer
f53c6ad8b9
PVE/API2/Qemu.pm: aquire guest_migration_lock inside worker
2017-06-12 11:05:46 +02:00
Wolfgang Link
c068c1c3a9
Add a migration lock to avoid a replication on rollback-time.
2017-06-12 10:58:49 +02:00
Dietmar Maurer
e5857ca8a7
PVE::QemuConfig - implement $cleanup flag for get_replicatable_volumes
2017-06-12 09:52:22 +02:00
Wolfgang Bumiller
5ee3847149
fix #1405 : sort pci ids by functions
...
QemuServer::lspci() iterates over /sys/bus/pci/devices which
doesn't guarantee any order which means functions sometimes
ended up in the wrong order and it was never clear which
one would get the additional options such as x-vga passed
to them.
2017-06-09 12:34:18 +02:00
Wolfgang Bumiller
ba5acf88a1
migrate: migration_type setting moved to pve-guest-common
2017-06-09 12:28:28 +02:00
Fabian Grünbichler
21463b9a04
import disk: add \n to die
2017-06-01 11:40:06 +02:00
Fabian Grünbichler
0f0aa6b71e
import disk: downgrade hotplug failure to warning
2017-06-01 11:15:14 +02:00
Emmanuel Kasper
8653feebe6
Add new qm command 'importdisk' to import external disk images
...
The VM must be already existing, and the syntax is
qm importdisk 421 minix204.img pve4tank
where 421 is an already existing VM
2017-06-01 11:05:35 +02:00
Emmanuel Kasper
b94e047acb
Add ImportDisk module to import external disk images into a VM
...
Each disk passed as paramater is add as 'unused[n]' in the vm.conf
(the default) or ide[n]|scsi[n]|sata[n]
We rely on qemu-img(1) convert heuristics to detect the file type,
as this works in most case.
2017-06-01 11:05:35 +02:00
Emmanuel Kasper
44549149af
Refactor the resolution of target disk format in own sub
...
This will allow use to reuse the code in ImportDisk.pm.
2017-06-01 11:05:35 +02:00
Wolfgang Bumiller
f1c2a53aee
migration: implement insecure offline migration
2017-06-01 10:50:28 +02:00
Dominik Csapak
af6d2db4b3
check also pending changes when reverting/deleting
...
otherwise we are not able to revert/delete pending changes which
introduce a new config line
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-05-31 11:40:14 +02:00