]> git.proxmox.com Git - qemu-server.git/log
qemu-server.git
7 years agocopy efivars disk on create
Dominik Csapak [Thu, 8 Sep 2016 09:03:00 +0000 (11:03 +0200)]
copy efivars disk on create

when we create the efidisk0 over the api,
we discard the size, and create a 128kbyte vdisk
and copy it there with qemu-img convert

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoadd efidisk0 to config
Dominik Csapak [Thu, 8 Sep 2016 09:02:59 +0000 (11:02 +0200)]
add efidisk0 to config

just a simple disk (only size, format and volid) for
efivars disk

also do not add it to command line in foreach_drive

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agobump version to 4.0-86
Dietmar Maurer [Mon, 29 Aug 2016 08:11:40 +0000 (10:11 +0200)]
bump version to 4.0-86

7 years agohostpci: bring back multifunction pass-through shortcut
Wolfgang Bumiller [Wed, 24 Aug 2016 07:55:49 +0000 (09:55 +0200)]
hostpci: bring back multifunction pass-through shortcut

7 years agodisable drive-mirror when iothread is enabled
Alexandre Derumier [Sat, 20 Aug 2016 08:02:29 +0000 (10:02 +0200)]
disable drive-mirror when iothread is enabled

drive-mirror is not working with qemu 2.6 when iothread is enabled.

with virtio-blk : mirror is working, but block-job-completed crash the vm
with virtio-scsi : mirror hang at start.

This should be fixed in qemu 2.7

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agomemory: hugepages: map numa node IDs to host and guest correctly
Wolfgang Bumiller [Fri, 29 Jul 2016 11:26:29 +0000 (13:26 +0200)]
memory: hugepages: map numa node IDs to host and guest correctly

foreach_dimm() provides a guest numa node index, when used
in conjunction with the guest-to-host numa node topology
mapping one has to make sure that the correct host-side
indices are used.

This covers situations where the user defines a numaX with
hostnodes=Y with Y != X.

For instance:
  cores: 2
  hotplug: disk,network,cpu,memory
  hugepages: 2
  memory: 2048
  numa: 1
  numa1: memory=512,hostnodes=0,cpus=0-1,policy=bind
  numa2: memory=512,hostnodes=0,cpus=2-3,policy=bind

Both numa IDs 1 and 2 passed by foreach_dimm() have to be
mapped to host node 0.

Note that this also reverses the foreach_reverse_dimm() numa
node numbering as the current code, while walking sizes
backwards, walked the numa IDs inside each size forward,
which makes more sense. (Memory hot-unplug is still working
with this.)

7 years agohugepages: use hostnodes value as numanode for topology
Alexandre Derumier [Fri, 29 Jul 2016 03:17:34 +0000 (05:17 +0200)]
hugepages: use hostnodes value as numanode for topology

also disallow more than 1 hostnode value

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agoqemu-img convert : use default cache=unsafe instead writeback
Alexandre Derumier [Mon, 1 Aug 2016 06:51:00 +0000 (08:51 +0200)]
qemu-img convert : use default cache=unsafe instead writeback

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agohugepages: check if numa node exist only if hugepages are enabled
Alexandre Derumier [Fri, 29 Jul 2016 03:17:33 +0000 (05:17 +0200)]
hugepages: check if numa node exist only if hugepages are enabled

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agofix verbose qm status output
Dominik Csapak [Mon, 18 Jul 2016 08:50:31 +0000 (10:50 +0200)]
fix verbose qm status output

we did not check if some values were hash refs in
the verbose output.

this patch adds a recursive hash print sub and uses it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoFix #1057: make protection a fast-plug option
Wolfgang Bumiller [Tue, 19 Jul 2016 07:17:36 +0000 (09:17 +0200)]
Fix #1057: make protection a fast-plug option

Otherwise you need to shutdown a VM to disable protection,
which is inconvenient for a few tasks such as for instance
deleting an unused disk.

7 years agoadd lock check for move_disk API call
Fabian Grünbichler [Fri, 22 Jul 2016 05:53:53 +0000 (07:53 +0200)]
add lock check for move_disk API call

this API call changes the config quite drastically, and as
such should not be possible while an operation that holds a
lock is ongoing (e.g., migration, backup, snapshot).

7 years agoonly activate the newly created volume
Fabian Grünbichler [Wed, 13 Jul 2016 10:44:13 +0000 (12:44 +0200)]
only activate the newly created volume

instead of the whole list.

7 years agodeactivate new volumes after clone to other node
Fabian Grünbichler [Wed, 13 Jul 2016 10:44:12 +0000 (12:44 +0200)]
deactivate new volumes after clone to other node

this might otherwise lead to volumes activated on the
source and target node, which is problematic for at least
LVM and Ceph.

7 years agopass datacenter.cfg's mac_prefix to random_ether_addr
Wolfgang Bumiller [Wed, 13 Jul 2016 14:25:44 +0000 (16:25 +0200)]
pass datacenter.cfg's mac_prefix to random_ether_addr

7 years agobump version to 4.0-85
Wolfgang Bumiller [Mon, 11 Jul 2016 12:49:03 +0000 (14:49 +0200)]
bump version to 4.0-85

7 years agoFix #1051: typo: vpcus -> vcpus
Wolfgang Bumiller [Mon, 11 Jul 2016 12:44:24 +0000 (14:44 +0200)]
Fix #1051: typo: vpcus -> vcpus

Otherwise only root can change this setting.

7 years agobump version to 4.0-84
Wolfgang Bumiller [Mon, 11 Jul 2016 09:53:46 +0000 (11:53 +0200)]
bump version to 4.0-84

7 years agofix 1046: add non-snapshotted disks as unused
Fabian Grünbichler [Mon, 4 Jul 2016 11:04:14 +0000 (13:04 +0200)]
fix 1046: add non-snapshotted disks as unused

7 years agobuildsys: only deb should be phony; start by removing debs
Wolfgang Bumiller [Mon, 4 Jul 2016 06:33:57 +0000 (08:33 +0200)]
buildsys: only deb should be phony; start by removing debs

7 years agodisable usb hotplug for now
Dominik Csapak [Mon, 4 Jul 2016 13:24:20 +0000 (15:24 +0200)]
disable usb hotplug for now

we have a few problems with hotplug at the moment:
qemu may add usb hubs when adding usb devices but fails to remove them
when removing the usb device (this is a qemu bug)

also when starting a guest with a usb device we add ehci and uchi
controllers, which we cannot hot unplug

with those devices, it is impossible to live migrate the guest
to another host, meaning even if you remove all usb devices,
the migrate fails

so we deactivate usb hotplugging for now

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoremove old move disk snapshot check
Fabian Grünbichler [Fri, 1 Jul 2016 12:18:32 +0000 (14:18 +0200)]
remove old move disk snapshot check

this is no longer needed, if the moved disk was referenced
by a snapshot we have already died early, and the config is
locked.

7 years agofix #1040: warn early about moving a snapshotted disk
Fabian Grünbichler [Fri, 1 Jul 2016 12:18:31 +0000 (14:18 +0200)]
fix #1040: warn early about moving a snapshotted disk

die if "delete source disk" is enabled, because a disk that
is referenced by snapshots must not be deleted.

7 years agocollect errors from all local volumes
Fabian Grünbichler [Fri, 24 Jun 2016 07:46:37 +0000 (09:46 +0200)]
collect errors from all local volumes

and then die with more meaningful output, instead of on the
first encountered error.

7 years agoadd comments and rename volhash
Fabian Grünbichler [Fri, 24 Jun 2016 07:46:36 +0000 (09:46 +0200)]
add comments and rename volhash

7 years agoswitch order of disk checks
Fabian Grünbichler [Fri, 24 Jun 2016 07:46:35 +0000 (09:46 +0200)]
switch order of disk checks

to make log message more meaningful.
'storage' < 'snapshot' < 'config'

7 years agocollect and log origin of found local volumes
Fabian Grünbichler [Fri, 24 Jun 2016 07:46:34 +0000 (09:46 +0200)]
collect and log origin of found local volumes

just knowing that local disks prevent a migration is not
very helpful, so be a bit more verbose here.

7 years agonew make upload target
Wolfgang Bumiller [Tue, 28 Jun 2016 07:16:11 +0000 (09:16 +0200)]
new make upload target

7 years agofix dependency for upload target
Dietmar Maurer [Tue, 28 Jun 2016 06:20:50 +0000 (08:20 +0200)]
fix dependency for upload target

7 years agoupdate changelog
Dietmar Maurer [Tue, 28 Jun 2016 06:18:23 +0000 (08:18 +0200)]
update changelog

7 years agofix #146 add name to backup log.
Wolfgang Link [Mon, 27 Jun 2016 12:37:14 +0000 (14:37 +0200)]
fix #146 add name to backup log.

7 years agobump version to 4.0-83
Wolfgang Bumiller [Wed, 22 Jun 2016 09:33:13 +0000 (11:33 +0200)]
bump version to 4.0-83

7 years agofix syntax in pve-q35.cfg
Dominik Csapak [Tue, 14 Jun 2016 08:50:41 +0000 (10:50 +0200)]
fix syntax in pve-q35.cfg

there was a wrong } instead of a ]

either it worked or nobody noticed,
but this patch fixes it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoimplement usb hotplug
Dominik Csapak [Tue, 14 Jun 2016 08:50:40 +0000 (10:50 +0200)]
implement usb hotplug

this patch introduces working usb hotplugging

you can now add a usb device while a vm is running

this does not work with spice at the moment, only
with usb passthrough

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoadd qemu_usb_hotplug
Dominik Csapak [Tue, 14 Jun 2016 08:50:39 +0000 (10:50 +0200)]
add qemu_usb_hotplug

this adds a function for hotplugging usb devices

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoget usbdevices in vm_devices_list
Dominik Csapak [Tue, 14 Jun 2016 08:50:38 +0000 (10:50 +0200)]
get usbdevices in vm_devices_list

since usb devices do not have their own
"query" command in qmp, we have to use
qom-list /machines/peripheral

which essentially gets a list of peripheral devices of
the vm

there we only get the usb devices

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agouse the refactored usb functions
Dominik Csapak [Tue, 14 Jun 2016 08:50:37 +0000 (10:50 +0200)]
use the refactored usb functions

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agorefactor usb functions out of QemuServer.pm
Dominik Csapak [Tue, 14 Jun 2016 08:50:36 +0000 (10:50 +0200)]
refactor usb functions out of QemuServer.pm

this moves most of the usb functionality into its own
module, making the QemuServer.pm smaller

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agorefactor PCI into own file
Dominik Csapak [Tue, 14 Jun 2016 08:50:35 +0000 (10:50 +0200)]
refactor PCI into own file

to reduce QemuServer.pm size
also move the $device hash out of any function

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agoadd hugepages option
Alexandre Derumier [Wed, 15 Jun 2016 03:04:02 +0000 (05:04 +0200)]
add hugepages option

vm configuration
----------------
hugepages: (any|2|1024)

any: we'll try to allocate 1GB hugepage if possible, if not we use 2MB hugepage
2: we want to use 2MB hugepage
1024: we want to use 1GB hugepage. (memory need to be multiple of 1GB in this case)

optionnal host configuration for 1GB hugepages
----------------------------------------------
1GB hugepages can be allocated at boot if user want it.
hugepages need to be contiguous, so sometime it's not possible to reserve them on the fly

/etc/default/grub : GRUB_CMDLINE_LINUX_DEFAULT="quiet hugepagesz=1G hugepages=x"

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Acked-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
7 years agobump version to 4.0-82
Dietmar Maurer [Mon, 20 Jun 2016 09:49:04 +0000 (11:49 +0200)]
bump version to 4.0-82

7 years agoadd dependency on DBus
Fabian Grünbichler [Mon, 20 Jun 2016 09:32:13 +0000 (11:32 +0200)]
add dependency on DBus

required for our systemd-run replacement (systemd itself
only recommends DBus and falls back to an internal IPC
mechanism if unavailable)

7 years agodrop unncessary cdromhash
Fabian Grünbichler [Fri, 17 Jun 2016 14:12:29 +0000 (16:12 +0200)]
drop unncessary cdromhash

7 years agouse foreach_drive instead of foreach_volid
Fabian Grünbichler [Fri, 17 Jun 2016 14:12:28 +0000 (16:12 +0200)]
use foreach_drive instead of foreach_volid

foreach_volid recurses over snapshots as well, resulting in
lots of repeated checks (especially for VMs with lots of
snapshots and disks).

a potential vmstate volume must be checked explicitly,
because foreach_drive does not care about those.

7 years agofix whitespace/indent
Fabian Grünbichler [Fri, 17 Jun 2016 14:12:27 +0000 (16:12 +0200)]
fix whitespace/indent

7 years agodon't repeat storage check for each volid
Fabian Grünbichler [Fri, 17 Jun 2016 14:12:26 +0000 (16:12 +0200)]
don't repeat storage check for each volid

7 years agoadd @param to foreach_drive
Fabian Grünbichler [Fri, 17 Jun 2016 14:12:25 +0000 (16:12 +0200)]
add @param to foreach_drive

7 years agobump version to 4.0-81
Dietmar Maurer [Thu, 16 Jun 2016 10:11:13 +0000 (12:11 +0200)]
bump version to 4.0-81

7 years agofix perl scope issues
Wolfgang Link [Thu, 16 Jun 2016 09:22:30 +0000 (11:22 +0200)]
fix perl scope issues

Add parameter array to foreach_volid to use is in the functions.
correct typos.

7 years agoadd check for snapshots at migration
Dietmar Maurer [Thu, 16 Jun 2016 08:21:57 +0000 (10:21 +0200)]
add check for snapshots at migration

We cannot migrate snapshots on local disks, for example lvmthin snapshots.

7 years agoAdd LVM and LVMThin to QemuMigration
Wolfgang Link [Mon, 13 Jun 2016 13:54:14 +0000 (15:54 +0200)]
Add LVM and LVMThin to QemuMigration

Offline migration on LVM and LVMThin are possible offline.

7 years agoupdate changelog
Dietmar Maurer [Fri, 10 Jun 2016 08:39:59 +0000 (10:39 +0200)]
update changelog

7 years agofix unnecessary root check for unused disks
Dominik Csapak [Fri, 10 Jun 2016 07:26:14 +0000 (09:26 +0200)]
fix unnecessary root check for unused disks

we needed root@pam rights to remove an unused disk
from a vm (instead of the correct Storage rights)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
7 years agobump version to 4.0-80
Dietmar Maurer [Thu, 9 Jun 2016 16:13:24 +0000 (18:13 +0200)]
bump version to 4.0-80

7 years agosplit old style pipe open call
Wolfgang Bumiller [Thu, 9 Jun 2016 14:54:46 +0000 (16:54 +0200)]
split old style pipe open call

7 years agofix raise_param_exc in PVE::QemuServer::Memory::memory_unplug v2
Alexandre Derumier [Wed, 8 Jun 2016 16:43:24 +0000 (18:43 +0200)]
fix raise_param_exc in PVE::QemuServer::Memory::memory_unplug v2

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agofix check_running in PVE::QemuServer::Memory::qemu_memory_hotplug
Alexandre Derumier [Wed, 8 Jun 2016 09:02:52 +0000 (11:02 +0200)]
fix check_running in PVE::QemuServer::Memory::qemu_memory_hotplug

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agoadd hyperv enlightments : hv_reset, hv_vpindex, hv_runtime
Alexandre Derumier [Fri, 20 May 2016 08:26:08 +0000 (10:26 +0200)]
add hyperv enlightments : hv_reset, hv_vpindex, hv_runtime

add them by default for qemu 2.6
(support is already present in qemu 2.5, but we don't want to break live migration for current running vm)

vpindex && runtime need host kernel 4.4

Theses 3 enlightements are needed by windows to use vmbus
http://searchwindowsserver.techtarget.com/definition/Microsoft-Virtual-Machine-Bus-VMBus

details :

- When Hyper-V "vpindex" is on, guest can use MSR HV_X64_MSR_VP_INDEX
to get virtual processor ID.

- Hyper-V "runtime" enlightement feature allows to use MSR
HV_X64_MSR_VP_RUNTIME to get the time the virtual processor consumes
running guest code, as well as the time the hypervisor spends running
code on behalf of that guest.

- Hyper-V "reset" allows guest to reset VM.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
7 years agodo not open forward tunnel on insecure migrations
Thomas Lamprecht [Mon, 6 Jun 2016 08:58:40 +0000 (10:58 +0200)]
do not open forward tunnel on insecure migrations

Restore previous behaviour and do not request a forward tunnel on
insecure migrations.

For the migrations of all kind this has no direct impact, they all
worked, but an port to much requested from an limited pool is still
not ideal. Also an open tunnel, if not needed.

This is a light regression introduced from commit 1c9d54b.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
7 years agomigrate: unlink unix socket before starting migration
Thomas Lamprecht [Fri, 3 Jun 2016 13:59:15 +0000 (15:59 +0200)]
migrate: unlink unix socket before starting migration

Just to be sure nobody else has (wrongfully) left that file here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
7 years agobump version to 4.0-79
Dietmar Maurer [Fri, 3 Jun 2016 10:16:56 +0000 (12:16 +0200)]
bump version to 4.0-79

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.