]> git.proxmox.com Git - qemu-server.git/log
qemu-server.git
6 years agonbd mirror: no need applying full regex on volid string anymore
Thomas Lamprecht [Fri, 16 Feb 2018 13:43:36 +0000 (14:43 +0100)]
nbd mirror: no need applying full regex on volid string anymore

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoFix #1664: nbd mirror : remove socat tunnel
Alexandre Derumier [Thu, 15 Feb 2018 12:43:10 +0000 (13:43 +0100)]
Fix #1664: nbd mirror : remove socat tunnel

socat tunnel for nbd mirror was introduce here
https://pve.proxmox.com/pipermail/pve-devel/2017-January/024777.html
to workaround when nbd client was hanging on non responding nbd server.

We have added a 30s timeout on socat tunnel, but when we migrate
multiple disks, it can break migration if for example first disk
is already finished and don't send any new datas in the tunnel.

The connect timeout bug has been fixed in qemu 2.9,
so we can remove the socat tunnel now.

6 years agofix #1569: add shared flag to disks
Chris Hofstaedtler [Thu, 15 Feb 2018 13:22:24 +0000 (14:22 +0100)]
fix #1569: add shared flag to disks

With shared=1, (live) migration ignores the disk and assumes it is
present on all target nodes. This works similar to shared=1 on LXC
mountpoints.

Signed-off-by: Chris Hofstaedtler <chris.hofstaedtler@deduktiva.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agocorrect 'snapshot' flag description
Wolfgang Bumiller [Thu, 8 Feb 2018 12:41:27 +0000 (13:41 +0100)]
correct 'snapshot' flag description

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agoappend option to drive if the option is defined
Dominik Csapak [Thu, 8 Feb 2018 11:09:24 +0000 (12:09 +0100)]
append option to drive if the option is defined

if the value was '0', we did not append the option to the drive,
resulting in wrong command line if the qemu default of an option is not
'0'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agofix #1662: use special case for 'snapshot' disk parameter
Dominik Csapak [Thu, 8 Feb 2018 11:09:23 +0000 (12:09 +0100)]
fix #1662: use special case for 'snapshot' disk parameter

since qemu expects on|off (not 1|0),
we have to do it different

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agoMake the smbios UUID unique if --unique is used.
Wolfgang Link [Thu, 1 Feb 2018 13:51:05 +0000 (14:51 +0100)]
Make the smbios UUID unique if --unique is used.

When we clone a VM we also make the smbios unique.

6 years agoadd serial:1 to vmstatus when config has a serial device configured
Dominik Csapak [Fri, 26 Jan 2018 10:57:59 +0000 (11:57 +0100)]
add serial:1 to vmstatus when config has a serial device configured

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agobump version to 5.0-21
Wolfgang Bumiller [Mon, 22 Jan 2018 14:13:33 +0000 (15:13 +0100)]
bump version to 5.0-21

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agoavoid harmful '<>' pattern, explicitly read from STDIN
Thomas Lamprecht [Mon, 22 Jan 2018 09:52:11 +0000 (10:52 +0100)]
avoid harmful '<>' pattern, explicitly read from STDIN

Fixes problems in CLIHandler using the code pattern:

while (my $line = <>) {
    ...
}

For why this causes only _now_ problems lets first look how <>
behaves:

"The null filehandle <> is special: [...] Input from <> comes either
from standard input, or from each file listed on the command line.
Here's how it works: the first time <> is evaluated, the @ARGV array
is checked, and if it is empty, $ARGV[0] is set to "-" , which when
opened gives you standard input.  The @ARGV array is then processed
as a list of filenames." - 'perldoc perlop'

Recent changes in the CLIHandler code changed how we modfiied @ARGV
Earlier we assumed that the first argument must be the command and
thus shifted it out of @ARGV, now we can have multiple levels of
(sub)commands. This change also changed how we handle @ARGV, we do
not unshift anything but go through the arguments until we got to
the final command and copy the rest of @ARGV as we know that this
must be the commandos arguments.

For '<>' this means that ARGV was still fully populated and perl
tried to open element as a file, which naturally failed.
Thus the change in pve-common only exposed this 'dangerous' code
pattern.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agobump version to 5.0-20
Wolfgang Bumiller [Tue, 16 Jan 2018 13:27:43 +0000 (14:27 +0100)]
bump version to 5.0-20

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agoCPU flags: add spec-ctrl
Fabian Grünbichler [Tue, 16 Jan 2018 09:06:41 +0000 (10:06 +0100)]
CPU flags: add spec-ctrl

to allow VMs to use IBRS/IBPB on systems with patched microcode

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoCPU types: add missing types
Fabian Grünbichler [Tue, 16 Jan 2018 09:21:42 +0000 (10:21 +0100)]
CPU types: add missing types

Skylake-Server is the Xeon variant of Skylake

max is "all features supported by the accelerator in the current host"

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoCPU types: add -IBRS variants
Fabian Grünbichler [Tue, 16 Jan 2018 09:21:41 +0000 (10:21 +0100)]
CPU types: add -IBRS variants

this have the 'spec-ctrl' flag by default to allow IBRS based Spectre
mitigation by the guest kernel.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoqm showcmd --pretty: indent new lines by 2 spaces
Wolfgang Bumiller [Wed, 10 Jan 2018 14:48:59 +0000 (15:48 +0100)]
qm showcmd --pretty: indent new lines by 2 spaces

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agoqm showcmd: add simple 'pretty' parameter
Thomas Lamprecht [Tue, 9 Jan 2018 08:56:28 +0000 (09:56 +0100)]
qm showcmd: add simple 'pretty' parameter

Shows each parameter value pair in a new line with a backslash at the
end, so it's still possible to copy, paste and execute it, while
being easier to read and edit by humans. This is opt in.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoincrease start timeout when hugepages are enabled.
Alexandre Derumier [Tue, 9 Jan 2018 17:42:46 +0000 (18:42 +0100)]
increase start timeout when hugepages are enabled.

Hugepages can take some time to be allocated by qemu at start (60s for 120G of 1G hugepages).
This patch increase start timeout to 5min when hugepages are enabled.

6 years agobump version to 5.0-19
Fabian Grünbichler [Tue, 9 Jan 2018 14:50:06 +0000 (15:50 +0100)]
bump version to 5.0-19

6 years agoadd 'flags' property to cpu option
Wolfgang Bumiller [Tue, 9 Jan 2018 14:30:14 +0000 (15:30 +0100)]
add 'flags' property to cpu option

Currently this only allows specifying '+pcid' or '-pcid'
but might be extended in the future.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agofix efi disk format detection
Wolfgang Bumiller [Thu, 28 Dec 2017 13:25:43 +0000 (14:25 +0100)]
fix efi disk format detection

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Fixes: 2bfbee039bbe ("include format for efidisk")
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoUse default values from load_defaults() when none is specified in conf
Emmanuel Kasper [Tue, 12 Dec 2017 10:56:15 +0000 (11:56 +0100)]
Use default values from load_defaults() when none is specified in conf

This also fixes a bug where VMs with no memory defined in the config
where reported as using 0MB instead of 512.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
6 years agobump version to 5.0-18
Wolfgang Bumiller [Wed, 13 Dec 2017 13:57:06 +0000 (14:57 +0100)]
bump version to 5.0-18

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agotermproxy, vncproxy: use -escape 0 for qm terminal
Wolfgang Bumiller [Tue, 12 Dec 2017 08:54:50 +0000 (09:54 +0100)]
termproxy, vncproxy: use -escape 0 for qm terminal

There's no reason to have Ctrl+O terminate these sessions.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agoqm terminal: add --escape option
Wolfgang Bumiller [Tue, 12 Dec 2017 08:54:08 +0000 (09:54 +0100)]
qm terminal: add --escape option

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agoenable vncproxy with vncterm for serial ports
Dominik Csapak [Mon, 11 Dec 2017 13:55:33 +0000 (14:55 +0100)]
enable vncproxy with vncterm for serial ports

this enables the output via vncterm when the vm has
configured a serial port

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agoadd termproxy api call
Dominik Csapak [Mon, 11 Dec 2017 13:55:32 +0000 (14:55 +0100)]
add termproxy api call

for xtermjs web client

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agofix #1570: fix template backup with pigz
Dominik Csapak [Fri, 1 Dec 2017 10:43:23 +0000 (11:43 +0100)]
fix #1570: fix template backup with pigz

when using pigz the resulting commandline would look like:

pigz -p 4>file

which resulted in pigz erroring out because it got no parameter for -p
(because the shell interpreted the 4>file as a file descriptor)

this patch adds a space so that the resulting line is
pigz -p 4 > file

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agodo not add unused disk when already as unused on another storage
Dominik Csapak [Thu, 16 Nov 2017 08:20:56 +0000 (09:20 +0100)]
do not add unused disk when already as unused on another storage

when having an unused disk on a storage for which there are multiple
definitions, we added it again on another storage when that storage
was alphabetically before the already existing one

this happens for example when using our automatically generated
ceph storages: 'pool_ct' and 'pool_vm' and having a vm with
an unused disk

with this patch, we also leave the unused disks in the hash

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agomake ssh connection transparent
Dominik Csapak [Fri, 17 Nov 2017 09:22:55 +0000 (10:22 +0100)]
make ssh connection transparent

do not use an escape character for vncproxy

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agofix #1471: change keyboard default to undef
Dominik Csapak [Tue, 7 Nov 2017 10:09:30 +0000 (11:09 +0100)]
fix #1471: change keyboard default to undef

this means that we do not include the '-k' parameter anymore by default
(which is deprecated by qemu)

with this, noVNC and spice always respect the guest keyboard
configuration and altgr keys work without problems

tested:
ubuntu with english intl and german with novnc and spice
windows 10 with english intl and german with novnc and spice
live migration

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agofix typo
Wolfgang Bumiller [Fri, 10 Nov 2017 10:27:05 +0000 (11:27 +0100)]
fix typo

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 years agocheck if ga runs before a fsfreeze-freeze/thaw
Dominik Csapak [Fri, 10 Nov 2017 08:47:43 +0000 (09:47 +0100)]
check if ga runs before a fsfreeze-freeze/thaw

since the guest-fsfreeze-freeze command has a timeout of 1 hour,
we want to check if the guest-agent even runs before executing that,
or else we wait 1 hour and then continue

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoupdate ostype documentation
Thomas Lamprecht [Tue, 7 Nov 2017 07:27:37 +0000 (08:27 +0100)]
update ostype documentation

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoinclude format for efidisk
Dominik Csapak [Tue, 7 Nov 2017 07:18:56 +0000 (08:18 +0100)]
include format for efidisk

if the efidisk is in 'raw' format, qemu will prevent writes
on block zero if the format is not explicitely given

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agobump version to 5.0-17
Fabian Grünbichler [Tue, 17 Oct 2017 12:58:17 +0000 (14:58 +0200)]
bump version to 5.0-17

6 years agocorrect cpuunits range
Philip Abernethy [Mon, 9 Oct 2017 11:40:23 +0000 (13:40 +0200)]
correct cpuunits range

'These options take an integer value and control the "cpu.shares"
control group attribute. The allowed range is 2 to 262144. Defaults to
1024.' – man 5 systemd.resource-control

6 years agocheck if base volumes are unused before deleting a template
Dominik Csapak [Fri, 13 Oct 2017 08:00:53 +0000 (10:00 +0200)]
check if base volumes are unused before deleting a template

we only checked if a vm had in use base disks when deleting them,
at which point we do not stop to delete the vm even when a
disk deletion fails, which means we could successfully delete the config
and all not used (base) disks of a template, resulting in left over vm disks

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 years agobump version to 5.0-16
Fabian Grünbichler [Thu, 5 Oct 2017 09:20:27 +0000 (11:20 +0200)]
bump version to 5.0-16

and add versioned dependency on pve-access-control >= 5.0-7, which
added the VM.Snapshot.Rollback privilege

6 years agobuild: reformat debian/control
Fabian Grünbichler [Wed, 4 Oct 2017 09:05:33 +0000 (11:05 +0200)]
build: reformat debian/control

using wrap-and-sort -abt

6 years agoimportovf: explicitly returns undef
Emmanuel Kasper [Wed, 27 Sep 2017 12:43:11 +0000 (14:43 +0200)]
importovf: explicitly returns undef

We set the returns value to  { type => 'null' } but we returned an empty
string, which was confusing the cli handler.

6 years agoqm importovf: --dryrun: use json output format
Wolfgang Bumiller [Mon, 25 Sep 2017 11:44:50 +0000 (13:44 +0200)]
qm importovf: --dryrun: use json output format

6 years agoqm importovf: set return type to null
Wolfgang Bumiller [Mon, 25 Sep 2017 11:44:26 +0000 (13:44 +0200)]
qm importovf: set return type to null

6 years agowhitespace fixup
Wolfgang Bumiller [Mon, 25 Sep 2017 11:43:58 +0000 (13:43 +0200)]
whitespace fixup

6 years agoAdd new qm command 'importovf', to create VMs from an OVF manifest
Emmanuel Kasper [Wed, 13 Sep 2017 14:10:26 +0000 (16:10 +0200)]
Add new qm command 'importovf', to create VMs from an OVF manifest

Currently the following extracted parameters are used to create a VM:
* VM name
* Memory
* Number of cores
* Disks

6 years agoRefactor defaut bootdisk and smbios1 uuid generation in own subs
Emmanuel Kasper [Wed, 13 Sep 2017 14:10:25 +0000 (16:10 +0200)]
Refactor defaut bootdisk and smbios1 uuid generation in own subs

This will allow code reuse for qm importovf

6 years agoAdd tests for parse_ovf function
Emmanuel Kasper [Wed, 13 Sep 2017 14:10:24 +0000 (16:10 +0200)]
Add tests for parse_ovf function

This includes:
 * a test script
 * the manifests generated by exports from a VmWare Workstation
 *  disk images are generated from qemu-img, with a 2KB size
(it is possible to inspect the disk images with od -bc
they contain a VMDK header and the rest are null characters)

6 years agoInitial support for importing OVF virtual machines
Emmanuel Kasper [Wed, 13 Sep 2017 14:10:23 +0000 (16:10 +0200)]
Initial support for importing OVF virtual machines

Following OVF parameters will be extracted:
 * VM name
 * Memory
 * Number of cores
 * disks and their associated controllers

6 years agoAdd a build dependency to libxml-libxml-perl, needed for OVF parsing
Emmanuel Kasper [Wed, 13 Sep 2017 14:10:22 +0000 (16:10 +0200)]
Add a build dependency to libxml-libxml-perl, needed for OVF parsing

XML::LibXML is being actively developed, and has 91 reverse
depencies in Debian Stretch, so it should not go away.

6 years agoForce overwriting existing compressed man pages and symbolic links
Emmanuel Kasper [Wed, 13 Sep 2017 14:10:21 +0000 (16:10 +0200)]
Force overwriting existing compressed man pages and symbolic links

This allows calling the 'make install' target twice in a row.

6 years agouse foreach_drive in foreach_storage_used_by_vm
Fabian Grünbichler [Mon, 15 May 2017 12:12:00 +0000 (14:12 +0200)]
use foreach_drive in foreach_storage_used_by_vm

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoconfig: make vmstatestorage hotpluggable
Fabian Grünbichler [Mon, 15 May 2017 12:11:59 +0000 (14:11 +0200)]
config: make vmstatestorage hotpluggable

since this is just an option for PVE, and does not concern the VM at all.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agorename foreach_writable_storage to foreach_storage_used_by_vm
Fabian Grünbichler [Mon, 15 May 2017 12:11:58 +0000 (14:11 +0200)]
rename foreach_writable_storage to foreach_storage_used_by_vm

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agosnapshot: use explicitly configured vmstate storage
Fabian Grünbichler [Mon, 15 May 2017 12:11:57 +0000 (14:11 +0200)]
snapshot: use explicitly configured vmstate storage

and simplify storage loop

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoconfig: add vmstatestorage option
Fabian Grünbichler [Mon, 15 May 2017 12:11:56 +0000 (14:11 +0200)]
config: add vmstatestorage option

and permission checks

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoVM.Snapshot.Rollback privilege added
Matthias Urban [Wed, 13 Sep 2017 10:30:37 +0000 (12:30 +0200)]
VM.Snapshot.Rollback privilege added

VM.Snapshot.Rollback privilege added

Signed-off-by: Matthias Urban <matthias.urban@pure-systems.com>
6 years agodo not overwrite global signal handlers
Emmanuel Kasper [Thu, 14 Sep 2017 13:19:39 +0000 (15:19 +0200)]
do not overwrite global signal handlers

perls 'local' must be either used in front of each $SIG{...}
assignments or they must be put in a list, else it affects only the
first variable and the rest are *not* in local context.

In all cases the global signal handlers we overwrote were in cli programs or
forked workers, not in daemons.

6 years agomigration : enable mtunnel for insecure migration V2
Alexandre Derumier [Tue, 5 Sep 2017 09:46:17 +0000 (11:46 +0200)]
migration : enable mtunnel for insecure migration V2

We only use it to send commands faster like resume

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
6 years agoovmf: deprecate old legay ovmf image and refactor
Thomas Lamprecht [Mon, 11 Sep 2017 06:40:29 +0000 (08:40 +0200)]
ovmf: deprecate old legay ovmf image and refactor

this was only kept for PVE 4.X where the switch to the newer OVMF
image with actual working persisten EFIVARS was made.

We do not ship this old image in PVE 5.0 anymore so remove this
legacy code as it can never trigger anyhow.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agocreate_disks: refactor out and improve efidisk creation
Thomas Lamprecht [Mon, 11 Sep 2017 06:40:28 +0000 (08:40 +0200)]
create_disks: refactor out and improve efidisk creation

factor out code in a new create_efidisk submethod, as else this code
is hardly readable as the efidisk0 case is a special case. Refer from
putting all this specialised handling directly to the much shorter
code for all other cases.

Also the disk was created with a specific format and then a format
detection on the newly created disk was done, which is pretty
useless, clear that up.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoefidisk: do not hard code efivar base image size
Thomas Lamprecht [Mon, 11 Sep 2017 06:40:27 +0000 (08:40 +0200)]
efidisk: do not hard code efivar base image size

The size of this image is not fixed, it increased to 528k in more
recent build of OVMF and could increase further (not likely, but
possible).

Instead of changing the hardcoded value move to a more generic
approach and read the size from the base image at creation time.

Use the new convert_size method and generalise the assignment of
size and volid between the efidisk and the normal case, as a part of
this change.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoRemove unused variable declaration
Emmanuel Kasper [Thu, 27 Jul 2017 12:32:27 +0000 (14:32 +0200)]
Remove unused variable declaration

6 years agoFix #1441: Do not unplug controllers when the mirroring is finished
Emmanuel Kasper [Thu, 27 Jul 2017 12:32:26 +0000 (14:32 +0200)]
Fix #1441: Do not unplug controllers when the mirroring is finished

This should not be needed since we call 'block-job-complete' before
in qemu_drive_mirror_monitor(), and after benchmarking it does not
appear to be needed nor provide a measurable improvement when shutting
down the source.

6 years agorestore_vma_archive: do not overwrite global signal handlers
Thomas Lamprecht [Wed, 6 Sep 2017 11:29:07 +0000 (13:29 +0200)]
restore_vma_archive: do not overwrite global signal handlers

perls 'local' must be either used in front of each $SIG{...}
assignments or they must be put in a list, else it affects only the
first variable and the rest are *not* in local context.

This may cause weird behaviour where daemons seemingly do not get
terminating signals delivered correctly and thus may not shutdown
gracefully anymore.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoAPI/clone: do not overwrite global signal handlers
Thomas Lamprecht [Wed, 6 Sep 2017 11:29:06 +0000 (13:29 +0200)]
API/clone: do not overwrite global signal handlers

perls 'local' must be either used in front of each $SIG{...}
assignments or they must be put in a list, else it affects only the
first variable and the rest are *not* in local context.

This may cause weird behaviour where daemons seemingly do not get
terminating signals delivered correctly and thus may not shutdown
gracefully anymore.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoupdate_vm: sort logged parameters
Fabian Grünbichler [Wed, 6 Sep 2017 09:32:13 +0000 (11:32 +0200)]
update_vm: sort logged parameters

otherwise the (log) output looks really strange when mass-updating VMs, e.g.:
update VM 400001: -scsi1 somestore:64 -scsi0 somestore:64 -ide2 isostore:iso/somefile.iso,media=cdrom
update VM 400002: -ide2 isostore:iso/somefile.iso,media=cdrom -scsi1 somestore:64 -scsi0 somestore:64
update VM 400003: -scsi0 somestore:64 -ide2 isostore:iso/somefile.iso,media=cdrom -scsi1 somestore:64

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoremove legacy sparsecp
Thomas Lamprecht [Wed, 14 Jun 2017 13:52:19 +0000 (15:52 +0200)]
remove legacy sparsecp

sparsecp gets only used in qmextract, which is part of the old backup
method (pre PVE 2.3).
Do not remove qmextract for now people could still have backups from
< PVE 2.3 around.
They could be restored manually, but we shouldn't make restoring
complicated. Thus replace sparsecp with `cp sparse=always`.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoremove unused obsolete vmtar
Thomas Lamprecht [Wed, 14 Jun 2017 13:52:18 +0000 (15:52 +0200)]
remove unused obsolete vmtar

This was used by the pre-VMA backup methods, as the new backup
process was introduced in PVE 2.3 (04.03.2013) and this would be only
used for creating new backups it can be removed safely.

Fixes Debian stretch build on the ARM64 architecture.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 years agoFix #1125. Check for KVM support before starting VM
Philip Abernethy [Mon, 21 Aug 2017 09:47:18 +0000 (11:47 +0200)]
Fix #1125. Check for KVM support before starting VM

Moved the check to the beginning of the function.
VMs configured to use KVM won't start if KVM is not available.
VMs not configured to use KVM will start regardless.

6 years agoRefactors $nokvm to $kvm
Philip Abernethy [Mon, 21 Aug 2017 09:47:17 +0000 (11:47 +0200)]
Refactors $nokvm to $kvm

for improved readability and consistency with the option name.

6 years agoRefactor HyperV enlightenments
Philip Abernethy [Mon, 21 Aug 2017 09:47:16 +0000 (11:47 +0200)]
Refactor HyperV enlightenments

Fixes a typo in the function name and removes the $nokvm parameter, as it's only
used to immideately exit the function. Instead calling the function
conditionally.

6 years agobump version to 5.0-15
Wolfgang Bumiller [Mon, 7 Aug 2017 08:46:45 +0000 (10:46 +0200)]
bump version to 5.0-15

6 years agomigrate: reduce polling intervals
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:07 +0000 (14:54 +0200)]
migrate: reduce polling intervals

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agomigrate: keep track of replication
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:06 +0000 (14:54 +0200)]
migrate: keep track of replication

and only transfer state and switch direction if there
actually are any replicated volumes.

once we add support for live-migration with replicated
volumes, adding a set-replication-state command to the
tunnel and using that probably makes sense.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agomigrate: finish tunnel in phase 3
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:05 +0000 (14:54 +0200)]
migrate: finish tunnel in phase 3

after resuming the VM over the tunnel.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoqm mtunnel/migrate: add resume VMID command
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:04 +0000 (14:54 +0200)]
qm mtunnel/migrate: add resume VMID command

and reformat the legacy SSH variant for readability.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agomtunnel: add and handle OK/ERR replies
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:03 +0000 (14:54 +0200)]
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>
6 years agoqm mtunnel: add write helper
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:02 +0000 (14:54 +0200)]
qm mtunnel: add write helper

reduce code duplication.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agomigrate: read mtunnel version
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:01 +0000 (14:54 +0200)]
migrate: read mtunnel version

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agoqm mtunnel: add tunnel version
Fabian Grünbichler [Fri, 4 Aug 2017 12:54:00 +0000 (14:54 +0200)]
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>
6 years agomigrate: refactor mtunnel read/write
Fabian Grünbichler [Fri, 4 Aug 2017 12:53:59 +0000 (14:53 +0200)]
migrate: refactor mtunnel read/write

to make adding new commands and reading replies easier

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 years agomigrate: switch back to qm mtunnel
Fabian Grünbichler [Fri, 4 Aug 2017 12:53:58 +0000 (14:53 +0200)]
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>
6 years agoFix freeze_needed
Wolfgang Link [Mon, 31 Jul 2017 06:13:27 +0000 (08:13 +0200)]
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.

6 years agobump version to 5.0-14
Wolfgang Bumiller [Mon, 17 Jul 2017 09:19:45 +0000 (11:19 +0200)]
bump version to 5.0-14

6 years agouse machine version in vga default type selection
Thomas Lamprecht [Wed, 12 Jul 2017 05:34:51 +0000 (07:34 +0200)]
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>
6 years agofix disk throttling syntax
Dominik Csapak [Fri, 14 Jul 2017 12:36:16 +0000 (14:36 +0200)]
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>
6 years agobump version to 5.0-13
Dietmar Maurer [Thu, 13 Jul 2017 04:49:12 +0000 (06:49 +0200)]
bump version to 5.0-13

6 years agoFix #1417: make sure the target storage allows disk images before importing
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

6 years agobump version to 5.0-12
Dietmar Maurer [Mon, 3 Jul 2017 12:39:37 +0000 (14:39 +0200)]
bump version to 5.0-12

6 years agoUse default values when memory is not set in vm.conf when migrating
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

6 years agobump version to 5.0-11
Wolfgang Bumiller [Fri, 30 Jun 2017 07:33:31 +0000 (09:33 +0200)]
bump version to 5.0-11

6 years agocleanup: more the new-disk regex deduplication
Wolfgang Bumiller [Fri, 30 Jun 2017 07:31:29 +0000 (09:31 +0200)]
cleanup: more the new-disk regex deduplication

6 years agofix #1417: check if storage has 'images' set in content
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>
6 years agobump version to 5.0-10
Dietmar Maurer [Wed, 28 Jun 2017 11:26:58 +0000 (13:26 +0200)]
bump version to 5.0-10

6 years agosnapshot-test.pm: ignore existing replication config
Dietmar Maurer [Wed, 28 Jun 2017 11:28:41 +0000 (13:28 +0200)]
snapshot-test.pm: ignore existing replication config

6 years agodon't use cirrus by default for sane OS'
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

6 years agoRemove guest states to ensure no old states are exists
Wolfgang Link [Tue, 27 Jun 2017 13:12:03 +0000 (15:12 +0200)]
Remove guest states to ensure no old states are exists

6 years agoallow disks on shared storages on replicated VMs
Wolfgang Bumiller [Tue, 27 Jun 2017 13:00:06 +0000 (15:00 +0200)]
allow disks on shared storages on replicated VMs

6 years agorefuse to add non-replicatable disks to replicating 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.

6 years agoAPI HA tasks: we request states not execute 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>
6 years agoconfig: has_feature() take default for backup into account
Wolfgang Bumiller [Mon, 26 Jun 2017 14:05:30 +0000 (16:05 +0200)]
config: has_feature() take default for backup into account