]> git.proxmox.com Git - qemu-server.git/log
qemu-server.git
7 years agomigrate: add some more log output
Thomas Lamprecht [Fri, 3 Jun 2016 09:32:02 +0000 (11:32 +0200)]
migrate: add some more log output

Output all errors - if any - and add some log outputs on what we qmp
commands we do with which parameters, may be helpful when debugging
or analyzing a users problem.

Also check if the queried status is defined, as on a error this may
not be.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
7 years agomigrate: close tunnel after dest. VM stopped on error
Thomas Lamprecht [Fri, 3 Jun 2016 09:32:01 +0000 (11:32 +0200)]
migrate: close tunnel after dest. VM stopped on error

On error let phase2_cleanup close the tunnel as it stops the for
incoming migration waiting VM on the destination first, to be safe.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
7 years agomigrate: use ssh forwarded UNIX socket tunnel
Thomas Lamprecht [Fri, 3 Jun 2016 09:32:00 +0000 (11:32 +0200)]
migrate: use ssh forwarded UNIX socket tunnel

We cannot guarantee when the SSH forward Tunnel really becomes
ready. The check with the mtunnel API call did not help for this
prolem as it only checked that the SSH connection itself works and
that the destination node has quorum but the forwarded tunnel itself
was not checked.

The Forward tunnel is a different channel in the SSH connection,
independent of the SSH `qm mtunnel` channel, so only if that works
it does not guarantees that our migration tunnel is up and ready.

When the node(s) where under load, or when we did parallel
migrations (migrateall), the migrate command was often started
before a tunnel was open and ready to receive data. This led to
a direct abortion of the migration and is the main cause in why
parallel migrations often leave two thirds or more VMs on the
source node.
The issue was tracked down to SSH after debugging the QEMU
process and enabling debug logging showed that the tunnel became
often to late available and ready, or not at all.

Fixing the TCP forward tunnel is quirky and not straight ahead, the
only way SSH gives as a possibility is to use -N (no command)
-f (background) and -o "ExitOnForwardFailure=yes", then it would
wait in the foreground until the tunnel is ready and only then
background itself. This is not quite the nicest way for our special
use case and our code base.
Waiting for the local port to become open and ready (through
/proc/net/tcp[6]] as a proof of concept is not enough, even if the
port is in the listening state and should theoretically accept
connections this still failed often as the tunnel was not yet fully
ready.

Further another problem would still be open if we tried to patch the
SSH Forward method we currently use - which we solve for free with
the approach of this patch - namely the problem that the method
to get an available port (next_migration_port) has a serious race
condition which could lead to multiple use of the same port on a
parallel migration (I observed this on my many test, seldom but if
it happens its really bad).

So lets now use UNIX sockets, which ssh supports since version 5.7.
The end points are UNIX socket bound to the VMID - thus no port so
no race and also no limitation of available ports (we reserved 50 for
migration).

The endpoints get created in /run/qemu-server/VMID.migrate and as
KVM/QEMU in current versions is able to use UNIX socket just as well
as TCP we have not to change much on the interaction with QEMU.
QEMU is started with the migrate_incoming url at the local
destination endpoint and creates the socket file, we then create
a listening socket on the source side and connect over SSH to the
destination.
Now the migration can be started by issuing the migrate qmp command
with an updated uri.

This breaks live migration from new to old, but *not* from old to
new, so there is a upgrade path.
If a live migration from new to old must be made (for whatever
reason), use the unsecure_migration setting (man datacenter.conf)
to allow this, although that should only be done in trusted network.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
7 years agomigrate: collect migration tunnel child process
Thomas Lamprecht [Fri, 3 Jun 2016 09:31:59 +0000 (11:31 +0200)]
migrate: collect migration tunnel child process

use waitpid with WNO_HANG to check if the ssh tunnel child process
is still running and collect at the same time if it exited.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
7 years agobump version to 4.0-78
Dietmar Maurer [Fri, 3 Jun 2016 09:43:48 +0000 (11:43 +0200)]
bump version to 4.0-78

7 years agouse enter_systemd_scope instead of systemd-run
Wolfgang Bumiller [Fri, 3 Jun 2016 09:10:01 +0000 (11:10 +0200)]
use enter_systemd_scope instead of systemd-run

With systemd-run qemu's --daemonize forks often happen
before systemd finishes setting up the scopes, which means
the limits we apply often don't work.
We now use enter_systemd_scope() to create the scope before
running qemu directly without systemd-run.

Note that vm_start() runs in a forked-worker or qm cli
command, so entering the scope in such a process should not
affect the rest of the pve daemon.

7 years agofix typo
Wolfgang Link [Thu, 2 Jun 2016 07:48:02 +0000 (09:48 +0200)]
fix typo

7 years agofix serial/parallel/numa permissions
Dominik Csapak [Wed, 1 Jun 2016 10:37:20 +0000 (12:37 +0200)]
fix serial/parallel/numa permissions

moved numa\d+ persmission to VM.Config.CPU
and serial/parallel to root since it accesses the host hardware

also renamed remainingoptions to generaloptions to
reduce confusion, since the real remaining options
(those that we do not specify) require root

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agofix #1010: whitelist options for permissions
Dominik Csapak [Wed, 1 Jun 2016 09:12:42 +0000 (11:12 +0200)]
fix #1010: whitelist options for permissions

instead of defaulting to VM.Config.Options for
all options not checked seperately, we
now have lists for the different config permissions
and check them accordingly.

for everything not given, we require root access
this is important especially for usbN and hostpciN
since they can change the host configuration

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agobump version to 4.0-77
Dietmar Maurer [Tue, 31 May 2016 10:16:14 +0000 (12:16 +0200)]
bump version to 4.0-77

7 years agodo not ignore hotplug parse errors
Dominik Csapak [Mon, 30 May 2016 08:44:37 +0000 (10:44 +0200)]
do not ignore hotplug parse errors

if we got an option which was not valid, we still
wrote it to the config, and subsequently returned
it on every api call

instead, now we die instead of warn and do not accept
invalid options

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agomove memory config generation to QemuServer::Memory::config
Alexandre Derumier [Mon, 23 May 2016 07:47:52 +0000 (09:47 +0200)]
move memory config generation to QemuServer::Memory::config

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agomove qemu_memory_hotplug && qemu_dimm_list to QemuServer::Memory
Alexandre Derumier [Mon, 23 May 2016 07:47:51 +0000 (09:47 +0200)]
move qemu_memory_hotplug && qemu_dimm_list to QemuServer::Memory

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agomove foreach_dimm && foreach_reverse_dimm to QemuServer::Memory
Alexandre Derumier [Mon, 23 May 2016 07:47:50 +0000 (09:47 +0200)]
move foreach_dimm && foreach_reverse_dimm to QemuServer::Memory

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agoadd QemuServer::Memory
Alexandre Derumier [Mon, 23 May 2016 07:47:49 +0000 (09:47 +0200)]
add QemuServer::Memory

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agohostpci docs: move notes into verbose_description
Dietmar Maurer [Fri, 20 May 2016 09:59:30 +0000 (11:59 +0200)]
hostpci docs: move notes into verbose_description

7 years agoadd full path reference to datacenter.conf file
Dietmar Maurer [Thu, 19 May 2016 14:27:30 +0000 (16:27 +0200)]
add full path reference to datacenter.conf file

7 years agoimprove documentation
Dietmar Maurer [Thu, 19 May 2016 11:13:25 +0000 (13:13 +0200)]
improve documentation

7 years agobump version to 4.0-76
Dietmar Maurer [Wed, 18 May 2016 09:26:09 +0000 (11:26 +0200)]
bump version to 4.0-76

7 years agoallow VLAN 1 tag in qemu-kvm vms
Dominik Csapak [Wed, 18 May 2016 09:18:28 +0000 (11:18 +0200)]
allow VLAN 1 tag in qemu-kvm vms

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoadd --description to systemd scope unit
Fabian Grünbichler [Fri, 13 May 2016 13:36:51 +0000 (15:36 +0200)]
add --description to systemd scope unit

otherwise, long kvm commands lead to systemd unit files with
very long lines, with confuses the systemd unit file parser.

apparently systemd has a length limit for unit file lines and
(line-)breaks the description string at that point. since
the rest of the description is probably not a valid key/value
pair, this leads to warnings. the default semantics of systemd-run
is to use the executed command as description unless a description
is specified explicitly.

note that this behaviour of systemd could allow an attacker
with access to the VM configuration to craft a kvm commandline
that starts or stops arbitrary systemd units.

7 years agoremove unneeded keyAlias option
Dietmar Maurer [Wed, 11 May 2016 11:04:59 +0000 (13:04 +0200)]
remove unneeded keyAlias option

7 years agobump version to 4.0-75
Dietmar Maurer [Wed, 11 May 2016 09:20:35 +0000 (11:20 +0200)]
bump version to 4.0-75

7 years agofix #975, use new keyAlias feature.
Dietmar Maurer [Wed, 11 May 2016 08:11:49 +0000 (10:11 +0200)]
fix #975, use new keyAlias feature.

Also remove unneccessary format_descriptions for boolean and enums.

7 years agofix #987: don't detect pending changes as snapshots
Fabian Grünbichler [Mon, 9 May 2016 10:59:13 +0000 (12:59 +0200)]
fix #987: don't detect pending changes as snapshots

when copying the VM configuration in vzdump. instead detect
them as pending changes and warn about them separately.

7 years agoadd warning for iothread with invalid scsi controller
Dominik Csapak [Tue, 3 May 2016 12:00:28 +0000 (14:00 +0200)]
add warning for iothread with invalid scsi controller

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoupdate changelog
Dietmar Maurer [Wed, 4 May 2016 08:49:01 +0000 (10:49 +0200)]
update changelog

7 years agofix typos
Fabian Grünbichler [Tue, 3 May 2016 12:14:33 +0000 (14:14 +0200)]
fix typos

7 years agofix #971: don't activate shared storage in offline migration
Fabian Grünbichler [Tue, 3 May 2016 12:14:32 +0000 (14:14 +0200)]
fix #971: don't activate shared storage in offline migration

instead, just print a warning if the connection check fails.
as long as the storage is online on the target node, the VM
will start fine after migration.

7 years agomigrate: check if storage is available
Fabian Grünbichler [Tue, 3 May 2016 12:14:31 +0000 (14:14 +0200)]
migrate: check if storage is available

8 years agobump version to 4.0-74
Dietmar Maurer [Sun, 1 May 2016 07:25:46 +0000 (09:25 +0200)]
bump version to 4.0-74

8 years agocorrectly set cpu vendor
Dietmar Maurer [Sun, 1 May 2016 07:24:25 +0000 (09:24 +0200)]
correctly set cpu vendor

8 years agobump version to 4.0-73
Dietmar Maurer [Fri, 29 Apr 2016 07:03:38 +0000 (09:03 +0200)]
bump version to 4.0-73

8 years agorestore: pass format to vma extract
Wolfgang Bumiller [Thu, 28 Apr 2016 14:11:44 +0000 (16:11 +0200)]
restore: pass format to vma extract

This silences the "probing guessed raw" warnings of
'qmrestore'.

8 years agobump version to 4.0-72
Dietmar Maurer [Fri, 22 Apr 2016 09:10:16 +0000 (11:10 +0200)]
bump version to 4.0-72

8 years agovm_start : force systemctl stop if orphan scope exist
Alexandre Derumier [Thu, 21 Apr 2016 13:18:28 +0000 (15:18 +0200)]
vm_start : force systemctl stop if orphan scope exist

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
8 years agofix #947: reenable disk/cdrom passthrough
Dominik Csapak [Thu, 21 Apr 2016 09:40:24 +0000 (11:40 +0200)]
fix #947: reenable disk/cdrom passthrough

previously, we did not check the file parameter of a disk,
allowing passthrough of a block device (by design)

with the change to the json parser for the disks, the format
became 'pve-volume-id' which is only valid for our volume ids
(and later we also allowed the value 'none')

this patch alternatively checks if the parameter is a path
or 'cdrom'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
8 years agobump version to 4.0-71
Dietmar Maurer [Thu, 21 Apr 2016 08:35:15 +0000 (10:35 +0200)]
bump version to 4.0-71

8 years agoFix #643: activate volumes before resizing
Wolfgang Bumiller [Wed, 13 Apr 2016 13:59:43 +0000 (15:59 +0200)]
Fix #643: activate volumes before resizing

The volume_size_info() call was what actually failed, but
the error reported to the gui came from afterwards trying to
resize the disk to a garabge size.

8 years agobump version to 4.0-70
Dietmar Maurer [Tue, 19 Apr 2016 07:02:05 +0000 (09:02 +0200)]
bump version to 4.0-70

8 years agovm_status: return more verbose HA state
Thomas Lamprecht [Mon, 18 Apr 2016 12:52:02 +0000 (14:52 +0200)]
vm_status: return more verbose HA state

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
8 years agodocs: cleanup
Fabian Grünbichler [Fri, 15 Apr 2016 11:12:00 +0000 (13:12 +0200)]
docs: cleanup

8 years agobump version to 4.0-69
Dietmar Maurer [Wed, 13 Apr 2016 06:25:17 +0000 (08:25 +0200)]
bump version to 4.0-69

8 years agoFix #848: deactivate old volume after clone before deletion
Wolfgang Bumiller [Mon, 11 Apr 2016 13:19:46 +0000 (15:19 +0200)]
Fix #848: deactivate old volume after clone before deletion

Otherwise some move operations will fail to delete the old
disk (eg. when moving from ceph to local storage).

Note that in order for the deactivation to succeed we need
to make sure qemu has closed its file descriptors, so we
need to wait for the job to disappear the same way we do in
$cancel_job().
Factored the waiting out into $finish_job().

8 years agobump version to 4.0-68
Dietmar Maurer [Tue, 12 Apr 2016 15:19:46 +0000 (17:19 +0200)]
bump version to 4.0-68

8 years agochange shutdown behaviour on suspended vm
Dominik Csapak [Tue, 12 Apr 2016 08:54:21 +0000 (10:54 +0200)]
change shutdown behaviour on suspended vm

previously, when shutting down a suspended vm,
we successfully send the shutdown command to it,
but it will not shutdown (because it is suspended)

there we will run into the timeout and either
bail out with an error, or kill the process

when we not kill the process and resume the vm,
it will instantly shutdown, because of the previous
command

this patch checks the status of the vm beforehand,
and either bails out with an error that you cannot
shutdown a suspended vm, or stops the vm with the
correct qmp command (depending of forceStop)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
8 years agosymlink vm.conf.5 manpage to qm.conf.5
Dietmar Maurer [Sat, 9 Apr 2016 08:13:46 +0000 (10:13 +0200)]
symlink vm.conf.5 manpage to qm.conf.5

8 years agocleanup makefile
Dietmar Maurer [Sat, 9 Apr 2016 08:11:36 +0000 (10:11 +0200)]
cleanup makefile

8 years agorename manual page from vm.conf to qm.conf
Dietmar Maurer [Sat, 9 Apr 2016 08:04:51 +0000 (10:04 +0200)]
rename manual page from vm.conf to qm.conf

8 years agobump version to 4.0-67
Dietmar Maurer [Fri, 8 Apr 2016 05:37:43 +0000 (07:37 +0200)]
bump version to 4.0-67

8 years agouse pve-doc-generator to generate man pages
Dietmar Maurer [Fri, 8 Apr 2016 05:36:29 +0000 (07:36 +0200)]
use pve-doc-generator to generate man pages

8 years agobump version to 4.0-66
Dietmar Maurer [Fri, 1 Apr 2016 07:34:03 +0000 (09:34 +0200)]
bump version to 4.0-66

8 years agoproperty string update: watchdog
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:13 +0000 (12:20 +0200)]
property string update: watchdog

8 years agoproperty string update: hostpci*
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:12 +0000 (12:20 +0200)]
property string update: hostpci*

This commit changes the listing of virtual functions from
multiple host= entries to one semicolon-separated host list.

8 years agoproperty string update: net*
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:11 +0000 (12:20 +0200)]
property string update: net*

This requires the new 'group' schema mechanism.

8 years agoproperty string update: numa*
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:10 +0000 (12:20 +0200)]
property string update: numa*

Additionally since the cpu and host node list isn't
restricted to a single range one can now provide multipel
ranges separated by semicolons. (eg. cpus=0-3;5;7)

8 years agodrive schema: allow 'none' again
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:09 +0000 (12:20 +0200)]
drive schema: allow 'none' again

8 years agocputype: format_description to avoid huge enum in manpage
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:08 +0000 (12:20 +0200)]
cputype: format_description to avoid huge enum in manpage

8 years agocleanup: naming consistency
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:07 +0000 (12:20 +0200)]
cleanup: naming consistency

8 years agofix a few property string descriptions
Wolfgang Bumiller [Wed, 30 Mar 2016 10:20:06 +0000 (12:20 +0200)]
fix a few property string descriptions

8 years agoqmextract: use PVE::Storage;
Dietmar Maurer [Wed, 30 Mar 2016 08:38:31 +0000 (10:38 +0200)]
qmextract: use PVE::Storage;

8 years agouse PVE::Storage::config(), not cfs_read_file()
Fabian Grünbichler [Fri, 25 Mar 2016 13:01:36 +0000 (14:01 +0100)]
use PVE::Storage::config(), not cfs_read_file()

8 years agouse asciidoc compatible markup
Dietmar Maurer [Wed, 23 Mar 2016 09:22:17 +0000 (10:22 +0100)]
use asciidoc compatible markup

s/Note:/NOTE:/

8 years agolimit serial and model and document their real limits
Wolfgang Bumiller [Mon, 21 Mar 2016 09:58:44 +0000 (10:58 +0100)]
limit serial and model and document their real limits

The urlencoded format currently cannot check the real
decoded length, so we limit to an upper bound and document
the real limits. Ideally we'd introduce a decodedLength
schema parameter at some point...

8 years agoupdate changelog
Dietmar Maurer [Mon, 21 Mar 2016 09:00:23 +0000 (10:00 +0100)]
update changelog

8 years agoclone: use the zeroinit filter for sparseinit storages
Wolfgang Bumiller [Fri, 18 Mar 2016 11:20:33 +0000 (12:20 +0100)]
clone: use the zeroinit filter for sparseinit storages

8 years agobump version to 4.0-65
Dietmar Maurer [Mon, 21 Mar 2016 08:09:40 +0000 (09:09 +0100)]
bump version to 4.0-65

8 years agocfg: use the 'urlencoded' format for drive model and serial
Wolfgang Bumiller [Fri, 18 Mar 2016 10:42:33 +0000 (11:42 +0100)]
cfg: use the 'urlencoded' format for drive model and serial

8 years agoclanup: qemu_drive_options is only used inside the one function
Wolfgang Bumiller [Fri, 18 Mar 2016 10:42:32 +0000 (11:42 +0100)]
clanup: qemu_drive_options is only used inside the one function

and it doesn't contain 'bootindex'

8 years agoFix some typos in JSON schema descriptions
Thomas Lamprecht [Wed, 16 Mar 2016 13:53:07 +0000 (14:53 +0100)]
Fix some typos in JSON schema descriptions

/cirrur/cirrus/
/devive/device/
/Numa/NUMA/
and a few grammar fixes, rewrites of sentences

Also if already touching those lines lets break them up from one
liners to a column limit of ~80.

8 years agoUse has_lock to check for specific lock
Fabian Grünbichler [Fri, 11 Mar 2016 11:11:57 +0000 (12:11 +0100)]
Use has_lock to check for specific lock

8 years agofix call to lock_config and config_file
Thomas Lamprecht [Wed, 9 Mar 2016 13:34:03 +0000 (14:34 +0100)]
fix call to lock_config and config_file

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
8 years agoupdate changelog
Dietmar Maurer [Tue, 8 Mar 2016 14:53:10 +0000 (15:53 +0100)]
update changelog

8 years agofix #909: pass rate to tap_plug()
Wolfgang Bumiller [Tue, 8 Mar 2016 12:55:13 +0000 (13:55 +0100)]
fix #909: pass rate to tap_plug()

When using OVS tap_plug() resets rate limiting so we need
to pass it along to reapply it.

The rate on its own can still be hot-plugged with the
regular tap_rate_limit() call.

8 years agobump version to 4.0-64
Dietmar Maurer [Tue, 8 Mar 2016 10:43:50 +0000 (11:43 +0100)]
bump version to 4.0-64

8 years agoRefactor add_unused_volume
Fabian Grünbichler [Mon, 7 Mar 2016 11:41:14 +0000 (12:41 +0100)]
Refactor add_unused_volume

Drop add_unused_volume from PVE::QemuServer in favor of
(identical) implementation in PVE::AbstractConfig

8 years agoRework snapshot code, has_feature
Fabian Grünbichler [Mon, 7 Mar 2016 11:41:13 +0000 (12:41 +0100)]
Rework snapshot code, has_feature

Drop snapshot_create, snapshot_delete and snapshot_rollback
in favour of PVE::AbstractConfig. Qemu-specific parts are
implemented in __snapshot_XX methods in PVE::QemuConfig.

has_feature is made an implementation of the abstract
has_feature, and thus moves to PVE::QemuConfig.

Note: a new hook method needed to be introduced to be called
before creating a volume snapshot, after creating a volume
snapshot, and after unfreezing the guestfs after creating a
volume snapshot. The base method in PVE::AbstractConfig is a
noop, the implemention in PVE::QemuConfig runs the necessary
Qemu monitor commands.

8 years agoRefactor basic config-related methods
Fabian Grünbichler [Mon, 7 Mar 2016 11:41:12 +0000 (12:41 +0100)]
Refactor basic config-related methods

Drop load_config, write_config, lock_config[_xx],
check_lock, check_protection, is_template and config_file
in favour of implementions in PVE::AbstractConfig.

Implement guest_type, __config_max_unused_disks,
config_file_lock and cfs_config_path from
PVE::AbstractConfig in PVE::QemuConfig.

8 years agoAdd regression tests for snapshotting
Fabian Grünbichler [Fri, 4 Mar 2016 09:09:45 +0000 (10:09 +0100)]
Add regression tests for snapshotting

these are modelled after the existing snapshot tests for LXC
and should serve as a baseline for refactoring the Qemu
snapshot code using PVE::AbstractConfig

8 years agoMake foreach_drive order deterministic
Fabian Grünbichler [Thu, 3 Mar 2016 14:45:15 +0000 (15:45 +0100)]
Make foreach_drive order deterministic

Previously, foreach_drive iterated over all configuration
keys (in a random order) and checked whether the current key
is a valid drive name. Instead, we now iterate over a list
of valid drive names (with deterministic order) and check
whether a drive with such a name exists in the
configuration.

Also rename the two involved methods from valid_drive_name
to is_valid_drive_name (for the check) and from disknames
to valid_drive_names (for the list of valid keys), for
consistency. These two were only used in the qemu-server
code base.

8 years agofix typo
Dietmar Maurer [Fri, 4 Mar 2016 05:22:22 +0000 (06:22 +0100)]
fix typo

8 years agodocument for end users the differences between shutdown and stop
Emmanuel Kasper [Thu, 3 Mar 2016 12:46:07 +0000 (13:46 +0100)]
document for end users the differences between shutdown and stop

8 years agoClose #880: ability to show paused state via the CLI
Wolfgang Bumiller [Fri, 5 Feb 2016 07:46:34 +0000 (08:46 +0100)]
Close #880: ability to show paused state via the CLI

qm list and qm status both show suspended VMs as 'running'
while the GUI's status summary shows them as 'paused'.

This patch makes 'qm status' always request the full status
and adds an optional '-full' parameter for 'qm list' to
use a full status query to include the 'paused' state. (This
is optional as it causes qmp requests to all running VMs.)

8 years agoRemove dead code
Fabian Grünbichler [Tue, 1 Mar 2016 08:16:13 +0000 (09:16 +0100)]
Remove dead code

This sub is not used anywhere.

8 years agoDon't apply snapshot config in snapshot_commit
Fabian Grünbichler [Thu, 25 Feb 2016 15:26:58 +0000 (16:26 +0100)]
Don't apply snapshot config in snapshot_commit

We hold a lock from snapshot_prepare until snapshot_commit,
so there is no need to copy back the snapshot config to the
actual config. This allows to drop a workaround for not
copying the 'machine' type config option.

8 years agobump version to 4.0-63
Dietmar Maurer [Sat, 27 Feb 2016 09:21:15 +0000 (10:21 +0100)]
bump version to 4.0-63

8 years agoindentation cleanup
Wolfgang Bumiller [Thu, 25 Feb 2016 10:43:01 +0000 (11:43 +0100)]
indentation cleanup

8 years agoonly perform scsi inquiry on device nodes
Wolfgang Bumiller [Thu, 25 Feb 2016 10:43:00 +0000 (11:43 +0100)]
only perform scsi inquiry on device nodes

We don't have any storage types other than LVM which react
to scsi inquiry, and we don't want to treat LVM as a scsi
device, so now we only query devices added as actual /dev
path. This was originally intended to be a pass-through
feature anyway, so this makes sense.

8 years agobump version to 4.0-62
Dietmar Maurer [Fri, 26 Feb 2016 16:02:49 +0000 (17:02 +0100)]
bump version to 4.0-62

8 years agoRefactor has_feature
Fabian Grünbichler [Fri, 26 Feb 2016 08:17:48 +0000 (09:17 +0100)]
Refactor has_feature

backup_only is currently not used as snapshot backups are
handled by qemu, but this makes the signatures identical
to LXC.pm's has_feature.

8 years agoMake snapshot_save_vmstate proper sub
Fabian Grünbichler [Fri, 26 Feb 2016 08:17:47 +0000 (09:17 +0100)]
Make snapshot_save_vmstate proper sub

8 years agokvm_user_version: update code to use our framework
Thomas Lamprecht [Thu, 25 Feb 2016 13:47:17 +0000 (14:47 +0100)]
kvm_user_version: update code to use our framework

Replace backticks with run_command and also do not use
`kvm -help` which produces a lot of unecessary output, lets use
`kvm -version` instead.

8 years agofix undefined value when starting a q35 machine VM
Thomas Lamprecht [Thu, 25 Feb 2016 13:47:16 +0000 (14:47 +0100)]
fix undefined value when starting a q35 machine VM

As there the signleton function "kvm_user_version" may not have been
called and with the machine alias q35 the regex from the
qemu_machine_feature_enabled method does not match and thus we
need a valid kvm version here

8 years agoupdate changelog
Dietmar Maurer [Thu, 25 Feb 2016 08:23:37 +0000 (09:23 +0100)]
update changelog

8 years agoRefactor snapshot_create to match LXC.pm
Fabian Grünbichler [Wed, 24 Feb 2016 11:33:31 +0000 (12:33 +0100)]
Refactor snapshot_create to match LXC.pm

8 years agobump version to 4.0-61
Dietmar Maurer [Thu, 25 Feb 2016 07:49:13 +0000 (08:49 +0100)]
bump version to 4.0-61

8 years agoclone_vm : only deactivate sources volume if source vm if offline
Alexandre Derumier [Wed, 24 Feb 2016 11:00:32 +0000 (12:00 +0100)]
clone_vm : only deactivate sources volume if source vm if offline

We can clone online a running vm, we don't have to deactive source vm volume
if the source vm is running

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
8 years agobump version to 4.0-60
Dietmar Maurer [Wed, 24 Feb 2016 16:19:37 +0000 (17:19 +0100)]
bump version to 4.0-60

8 years agochange check for write-zeros
Dominik Csapak [Tue, 23 Feb 2016 11:43:51 +0000 (12:43 +0100)]
change check for write-zeros

instead of hardcoding the storagetypes for writing zeros on a
backup restore, we use volume_has_feature with 'sparseinit'
for determining if we can omit writing zeros

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
8 years agobump version to 4.0-59
Dietmar Maurer [Mon, 22 Feb 2016 16:37:50 +0000 (17:37 +0100)]
bump version to 4.0-59