]>
git.proxmox.com Git - qemu-server.git/log
Emmanuel Kasper [Wed, 12 Jul 2017 15:53:35 +0000 (17:53 +0200)]
Fix #1417: make sure the target storage allows disk images before importing
This was fixed in
c46366fd494c7dd0cd46bf133146e6f7a98e32a4
for 'qm create', but 'qm importdisk' has the same issue
Dietmar Maurer [Mon, 3 Jul 2017 12:39:37 +0000 (14:39 +0200)]
bump version to 5.0-12
Emmanuel Kasper [Mon, 3 Jul 2017 11:58:14 +0000 (13:58 +0200)]
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
Wolfgang Bumiller [Fri, 30 Jun 2017 07:33:31 +0000 (09:33 +0200)]
bump version to 5.0-11
Wolfgang Bumiller [Fri, 30 Jun 2017 07:31:29 +0000 (09:31 +0200)]
cleanup: more the new-disk regex deduplication
Dominik Csapak [Mon, 19 Jun 2017 11:54:49 +0000 (13:54 +0200)]
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>
Dietmar Maurer [Wed, 28 Jun 2017 11:26:58 +0000 (13:26 +0200)]
bump version to 5.0-10
Dietmar Maurer [Wed, 28 Jun 2017 11:28:41 +0000 (13:28 +0200)]
snapshot-test.pm: ignore existing replication config
Wolfgang Bumiller [Wed, 28 Jun 2017 08:48:03 +0000 (10:48 +0200)]
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
Wolfgang Link [Tue, 27 Jun 2017 13:12:03 +0000 (15:12 +0200)]
Remove guest states to ensure no old states are exists
Wolfgang Bumiller [Tue, 27 Jun 2017 13:00:06 +0000 (15:00 +0200)]
allow disks on shared storages on replicated VMs
Wolfgang Bumiller [Tue, 27 Jun 2017 07:42:55 +0000 (09:42 +0200)]
refuse to add non-replicatable disks to replicating VMs
Unless replication is explicitly disabled for them.
Thomas Lamprecht [Wed, 21 Jun 2017 05:20:11 +0000 (07:20 +0200)]
API HA tasks: we request states not execute them
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Mon, 26 Jun 2017 14:05:30 +0000 (16:05 +0200)]
config: has_feature() take default for backup into account
Dietmar Maurer [Fri, 23 Jun 2017 09:01:40 +0000 (11:01 +0200)]
bump version to 5.0-9
Thomas Lamprecht [Fri, 23 Jun 2017 07:47:06 +0000 (09:47 +0200)]
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>
Dietmar Maurer [Thu, 22 Jun 2017 10:58:55 +0000 (12:58 +0200)]
bump version to 5.0-8
Wolfgang Bumiller [Thu, 22 Jun 2017 10:24:41 +0000 (12:24 +0200)]
migrate: pass the with_snapshots parameter
Dietmar Maurer [Thu, 22 Jun 2017 06:52:17 +0000 (08:52 +0200)]
bump version to 5.0-7
Dietmar Maurer [Thu, 22 Jun 2017 06:51:38 +0000 (08:51 +0200)]
PVE::QemuMigrate. do not use JSON - not required here
Dietmar Maurer [Wed, 21 Jun 2017 10:27:45 +0000 (12:27 +0200)]
PVE/QemuMigrate.pm: use new replication job helpers from AbstractMigrate
Dietmar Maurer [Wed, 21 Jun 2017 08:59:45 +0000 (10:59 +0200)]
Change target in replication-state when replication direction is switched
Dietmar Maurer [Tue, 20 Jun 2017 08:58:40 +0000 (10:58 +0200)]
PVE/QemuMigrate.pm: use replication job, transfer replication state
Dietmar Maurer [Wed, 14 Jun 2017 05:23:01 +0000 (07:23 +0200)]
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).
Dietmar Maurer [Wed, 14 Jun 2017 05:02:43 +0000 (07:02 +0200)]
add regression tests for get_replicatable_volumes
Dietmar Maurer [Wed, 14 Jun 2017 05:01:36 +0000 (07:01 +0200)]
get_replicatable_volumes: fix CDROM and local file/device handling
Dominik Csapak [Tue, 13 Jun 2017 14:11:20 +0000 (16:11 +0200)]
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>
Dietmar Maurer [Tue, 13 Jun 2017 09:56:26 +0000 (11:56 +0200)]
PVE/QemuMigrate.pm: fix syntax errors
Dietmar Maurer [Tue, 13 Jun 2017 09:51:14 +0000 (11:51 +0200)]
get_replicatable_volumes: add unused volumes
Dietmar Maurer [Tue, 13 Jun 2017 07:55:36 +0000 (09:55 +0200)]
get_replicatable_volumes: skip volumes if we do not 'own' them
And add and additional check for vtype 'images'.
Dietmar Maurer [Tue, 13 Jun 2017 06:32:37 +0000 (08:32 +0200)]
PVE/QemuMigrate.pm - use PVE::QemuServer::foreach_volid
Dietmar Maurer [Tue, 13 Jun 2017 06:24:20 +0000 (08:24 +0200)]
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.
Dietmar Maurer [Tue, 13 Jun 2017 04:58:58 +0000 (06:58 +0200)]
get_replicatable_volumes: use PVE::QemuServer::foreach_volid
Dietmar Maurer [Tue, 13 Jun 2017 04:47:05 +0000 (06:47 +0200)]
PVE::QemuServer::foreach_volid - pass $attr hash to callback
That way we can pass more informations, i.e. the 'replicate' attribute.
Dietmar Maurer [Tue, 13 Jun 2017 04:30:57 +0000 (06:30 +0200)]
get_replicatable_volumes: skip volumes on shared storage
Dietmar Maurer [Tue, 13 Jun 2017 07:01:27 +0000 (09:01 +0200)]
get_replicatable_volumes: add $vmid parameter
Dietmar Maurer [Mon, 12 Jun 2017 09:09:47 +0000 (11:09 +0200)]
PVE/API2/Qemu.pm: cleanup - remove unused $upid parameter
Dietmar Maurer [Mon, 12 Jun 2017 09:05:46 +0000 (11:05 +0200)]
PVE/API2/Qemu.pm: aquire guest_migration_lock inside worker
Wolfgang Link [Mon, 12 Jun 2017 08:38:22 +0000 (10:38 +0200)]
Add a migration lock to avoid a replication on rollback-time.
Fabian Grünbichler [Mon, 12 Jun 2017 08:00:25 +0000 (10:00 +0200)]
build: remove fakeroot from dpkg-buildpackage
Fabian Grünbichler [Mon, 12 Jun 2017 07:50:22 +0000 (09:50 +0200)]
fix typo in previous changelog
Fabian Grünbichler [Mon, 12 Jun 2017 07:49:21 +0000 (09:49 +0200)]
build: add substition variables
Fabian Grünbichler [Mon, 12 Jun 2017 07:47:01 +0000 (09:47 +0200)]
build: reformat b-d and depends
Fabian Grünbichler [Mon, 12 Jun 2017 07:44:04 +0000 (09:44 +0200)]
build: make control static
Thomas Lamprecht [Fri, 9 Jun 2017 16:37:03 +0000 (18:37 +0200)]
change from dpkg-deb to dpkg-buildpackage
Add debian directory and move the respective files there and add
missing (rules, compat, docs).
Add a Source section to the control.in file and "build" (sed
control.in >control) in the $DEB target as done in most other
packages
Move the qm verifyapi check to the new "test" target, which gets
executed before the dh_auto_install target.
Remove the obsolete vzsyscalls.ph target, vzsyscalls.h is gone for a
while now
Cleanup "clean" target.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Mon, 12 Jun 2017 07:09:53 +0000 (09:09 +0200)]
PVE::QemuConfig - implement $cleanup flag for get_replicatable_volumes
Wolfgang Bumiller [Thu, 8 Jun 2017 07:18:25 +0000 (09:18 +0200)]
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.
Wolfgang Bumiller [Tue, 6 Jun 2017 08:03:59 +0000 (10:03 +0200)]
migrate: migration_type setting moved to pve-guest-common
Fabian Grünbichler [Thu, 1 Jun 2017 09:40:06 +0000 (11:40 +0200)]
import disk: add \n to die
Fabian Grünbichler [Thu, 1 Jun 2017 09:15:14 +0000 (11:15 +0200)]
import disk: downgrade hotplug failure to warning
Emmanuel Kasper [Thu, 1 Jun 2017 08:26:39 +0000 (10:26 +0200)]
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
Emmanuel Kasper [Thu, 1 Jun 2017 08:26:38 +0000 (10:26 +0200)]
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.
Emmanuel Kasper [Thu, 1 Jun 2017 08:26:37 +0000 (10:26 +0200)]
Refactor the resolution of target disk format in own sub
This will allow use to reuse the code in ImportDisk.pm.
Wolfgang Bumiller [Tue, 30 May 2017 13:30:13 +0000 (15:30 +0200)]
migration: implement insecure offline migration
Dominik Csapak [Mon, 29 May 2017 08:37:23 +0000 (10:37 +0200)]
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>
Dietmar Maurer [Wed, 31 May 2017 07:21:50 +0000 (09:21 +0200)]
bump version to 5.0-6
Wolfgang Bumiller [Tue, 30 May 2017 13:30:15 +0000 (15:30 +0200)]
fix burst length parameter names and pass them to qemu
bps_max_length & friends were wrongly named and were only
passed to qemu when hot-applying changes. They can only
be passed via the command line with their new names. For
consistency let's rename them all, that way they're all in
one place.
Fixes #1195 (for real this time).
Wolfgang Bumiller [Tue, 30 May 2017 13:30:14 +0000 (15:30 +0200)]
fix #1229: more explicit spice port allocation
We cannot look for ports on "any" wildcard address while
letting qemu bind to "localhost", this may lead to a qemu
process occupying ::1 while the next search successfully
finds the same port available for IPv4's '*' address.
Instead, we now lookup the IP of the desired family for
'localhost'. Note that while we could simply be hardcoding
::1 or 127.0.0.1, with this code we are protocol agnostic.
Dietmar Maurer [Wed, 24 May 2017 07:20:06 +0000 (09:20 +0200)]
migrate: aquire guest_migration_lock during migration
To block replication jobs.
Dietmar Maurer [Tue, 23 May 2017 16:01:13 +0000 (18:01 +0200)]
do not allow destroy if there are replication jobs
Dietmar Maurer [Tue, 9 May 2017 14:45:52 +0000 (16:45 +0200)]
remove 'replicate' configuration - we will store that in another file
Thomas Lamprecht [Tue, 23 May 2017 08:39:45 +0000 (10:39 +0200)]
improve error on '{full, linked} clone not available' error
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Fabian Grünbichler [Tue, 23 May 2017 12:23:52 +0000 (14:23 +0200)]
print_cpu_device: remove unused variable
Tobias Böhm [Mon, 15 May 2017 14:16:12 +0000 (16:16 +0200)]
Fix #1384: add missing decrement to calculation of socket-id
For calculation of "current_core" the input variable id is decremented.
For calculation of "current_socket" this decrement was missing resulting
in a wrong value when "cores" is set to 1.
Signed-off-by: Tobias Böhm <tb@robhost.de>
Wolfgang Bumiller [Tue, 23 May 2017 07:04:46 +0000 (09:04 +0200)]
migrate: pass ssh_info to storage_migrate
Fabian Grünbichler [Wed, 17 May 2017 10:40:58 +0000 (12:40 +0200)]
build: run tests on build
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 17 May 2017 10:40:57 +0000 (12:40 +0200)]
tests: fix broken snapshot create tests
by mocking de/activate vmstate volumes. these were broken by
3a8deb551f2c7648865437961b3593d11bf0591b , which introduced
activating/deactivating vmstate volumes for KRBD
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 17 May 2017 10:40:56 +0000 (12:40 +0200)]
tests: fix broken snapshot delete tests
these broke when the additional "snapshot-delete" lock was
introduced
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 17 May 2017 10:40:55 +0000 (12:40 +0200)]
tests: exit with -1 in case of failures
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dominik Csapak [Tue, 16 May 2017 14:21:01 +0000 (16:21 +0200)]
use ReuseAddr for vncproxy
to avoid "Socket already in use" errors, when quickly opening/closing
console sessions on the webinterface
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Mon, 24 Apr 2017 09:12:29 +0000 (11:12 +0200)]
Fix #1361: create disk: stricter parsing of storage:size
This fixes paths such as
/dev/disk/by-id/some-ID:0.5
being interpreted as a request to create a 0.5G-sized disk
in the storage named '/dev/disk/by-id/some-ID'.
Dietmar Maurer [Sat, 6 May 2017 15:13:31 +0000 (17:13 +0200)]
move get_replicatable_volumes from QemuServer.pm to QemuConfig.pm
Dietmar Maurer [Sat, 6 May 2017 15:00:20 +0000 (17:00 +0200)]
PVE::QemuServer::create_disks - run code inside eval
So that we can free allocated volumes ins something fails.
Thi bug was introduced with commit
ae57f6b352242fed69da851f15f976095d290833
Dietmar Maurer [Sat, 6 May 2017 13:11:46 +0000 (15:11 +0200)]
get_replicatable_volumes: replacemnet for PVE::ReplicationTools::get_syncable_guestdisks()
correctly scan for volumes inside snapshots.
This will also solve the cyclic package dependency propblem.
Dietmar Maurer [Sat, 6 May 2017 08:46:21 +0000 (10:46 +0200)]
rename drive 'replica' property to 'replicate'
Dietmar Maurer [Sat, 6 May 2017 08:39:43 +0000 (10:39 +0200)]
Revert "Integrate replica in the qemu migration."
This reverts commit
63d02c707429efcd509ddb14d3fd560cfcf4979e .
The commit changes the configuration before the VM is actually
migrated, so it is possible to have a wrong configuration when
migration fails for some reason. Also, I am quite unsure if
this automatic target change is really wanted. The patch also
contains wrong refereces to $self->{opts}->{node}.
Dietmar Maurer [Sat, 6 May 2017 08:38:06 +0000 (10:38 +0200)]
Revert "migrate: cleanup replica volume skip condition"
This reverts commit
6e8044dcea4187d076f637b9e5d3e153d080087f .
Dietmar Maurer [Sat, 6 May 2017 08:35:08 +0000 (10:35 +0200)]
use a single replicate property (format pve-replicate)
Emmanuel Kasper [Tue, 2 May 2017 09:26:53 +0000 (11:26 +0200)]
add description of read/writes statistics in vzdump output
since this statistics are note really described, sometimes users
miss that their slow backups are caused by slow reads
Dominik Csapak [Mon, 23 Jan 2017 12:51:21 +0000 (13:51 +0100)]
start vncproxy worker in the background
this allows it to use the vncproxy api call to use from pvesh,
because before we waited until the task finished to get the vncticket
which was too late
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Wolfgang Bumiller [Fri, 28 Apr 2017 12:02:38 +0000 (14:02 +0200)]
bump version to 5.0-5
Wolfgang Bumiller [Fri, 28 Apr 2017 08:40:22 +0000 (10:40 +0200)]
api: replica: safer config update
Configuration updates should only happen if and after their
change has successfully taken effect.
Wolfgang Bumiller [Fri, 28 Apr 2017 08:34:46 +0000 (10:34 +0200)]
migrate: cleanup replica volume skip condition
Wolfgang Bumiller [Fri, 28 Apr 2017 08:14:26 +0000 (10:14 +0200)]
whitespace fixup
Wolfgang Link [Mon, 24 Apr 2017 15:15:42 +0000 (17:15 +0200)]
Destroy all remote and local replication datasets when a VM will destroyed.
Wolfgang Link [Mon, 24 Apr 2017 15:15:41 +0000 (17:15 +0200)]
Integrate replica in the qemu migration.
Now it is possible to migrate a VM offline when replica is enabled.
It will reduce replication to an minimal amount.
Wolfgang Link [Mon, 24 Apr 2017 15:15:40 +0000 (17:15 +0200)]
Insert new properties in the Qemu config for the PVE Replica.
This patch will include all necessary properties for the replication.
Also will it enable and disable a replication job
when appointed flags are set or deleted.
Alexandre Derumier [Fri, 28 Apr 2017 07:30:55 +0000 (09:30 +0200)]
add rerror for all drives
it was missing for scsi, and it's supported for all kind of drive
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Wolfgang Bumiller [Fri, 21 Apr 2017 10:06:34 +0000 (12:06 +0200)]
bump version to 5.0-4
Alexandre Derumier [Fri, 21 Apr 2017 01:39:34 +0000 (03:39 +0200)]
live storage migration : fix check of target storage availability
if we define a different target storeid for remote node,
and that storage is not available on source node
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Wolfgang Bumiller [Fri, 21 Apr 2017 09:49:32 +0000 (11:49 +0200)]
bump version to 5.0-3
Fabian Grünbichler [Wed, 19 Apr 2017 13:19:50 +0000 (15:19 +0200)]
migrate: clarify comment
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 19 Apr 2017 13:19:49 +0000 (15:19 +0200)]
migrate: cleanup nbd source disks earlier
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 19 Apr 2017 13:19:48 +0000 (15:19 +0200)]
fix #1338: migrate: stop nbd before resuming
since Qemu 2.9, block device write access is limited to one
writer unless shared_rw is set to true. there is an
exception for live-migrating local disks via NBD as long as
the VM is suspended.
stop the NBD server before resuming the VM accordingly to
unbreak local disk live-migration.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 19 Apr 2017 13:19:47 +0000 (15:19 +0200)]
start: keep VM paused when migrating via unix socket
this (correctly!) errored out with Qemu 2.9 when live-migrating
local disks, because the NBD server blocks the VM from being
resumed. was probably missed when migrating via unix domains
was originally introduced..
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dominik Csapak [Tue, 18 Apr 2017 07:24:40 +0000 (09:24 +0200)]
turn off alarm timer after accepting a vnc connection
else we always get a failed task when the vnc connection is
running longer than $timeout
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Fabian Grünbichler [Mon, 10 Apr 2017 14:28:46 +0000 (16:28 +0200)]
bump version to 5.0-2
Wolfgang Bumiller [Mon, 3 Apr 2017 12:08:19 +0000 (14:08 +0200)]
don't compare booleans
a) because perl isn't THAT bad of a language that you'd need
to do this and b) because JSON::XS version 2.90 "dropped"
this "feature"
Fabian Grünbichler [Fri, 17 Mar 2017 10:01:32 +0000 (11:01 +0100)]
update_vm: check whether opt is set before deleting
otherwise we get lots uninitialized warnings:
update VM 600: -delete unused7
Use of uninitialized value $data in split at /usr/share/perl5/PVE/JSONSchema.pm line 533.
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/PVE/API2/Qemu.pm line 1012.
Use of uninitialized value $volid in pattern match (m//) at /usr/share/perl5/PVE/QemuServer.pm line 1824.
Use of uninitialized value $volid in pattern match (m//) at /usr/share/perl5/PVE/Storage/Plugin.pm line 201.
Use of uninitialized value $volid in concatenation (.) or string at /usr/share/perl5/PVE/Storage/Plugin.pm line 205.
vs:
update VM 600: -delete unused7
cannot delete 'unused7' - not set in current configuration!
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Wolfgang Bumiller [Mon, 13 Mar 2017 11:00:25 +0000 (12:00 +0100)]
bump version to 5.0-1