Commit Graph

346 Commits

Author SHA1 Message Date
Fabian Grünbichler
2746b963cf bump version to 9.0.17
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-08-12 15:14:04 +02:00
Thomas Lamprecht
9c094a357b bump version to 9.0.16
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-08-05 12:21:06 +02:00
Thomas Lamprecht
e4bf96735f bump version to 9.0.15
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-08-04 16:03:23 +02:00
Thomas Lamprecht
43513e14ac bump version to 9.0.14
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-08-01 18:38:16 +02:00
Thomas Lamprecht
6b084e3b6b bump version to 9.0.13
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-31 14:26:17 +02:00
Thomas Lamprecht
8eec31e92d bump version to 9.0.12
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-31 11:34:12 +02:00
Thomas Lamprecht
0aea31ee85 d/control: bump versioned dependency on pve-ha-manager
for affinity rule migration blocker.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-31 11:31:00 +02:00
Thomas Lamprecht
b2f0236a8b bump version to 9.0.11
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-31 04:50:13 +02:00
Thomas Lamprecht
fb98d1d566 bump version to 9.0.10
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-30 23:06:55 +02:00
Thomas Lamprecht
b926ff9c66 d/control: bump dependency for pve-firewall & suggests for proxmox-firewall
To ensure we got the relevant rules for conntrack migration available.

Only do a suggests on the newer nft based proxmox-firewall, we do not
have any hard-dependency on it anywhere currently.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-30 23:00:00 +02:00
Christoph Heiss
ef2db7e975 fix #5180: dbus-vmstate: add daemon for QEMUs dbus-vmstate interface
First part to fixing #5180 [0].

Adds a simple D-Bus server which implements the `org.qemu.VMState1`
interface as specified in the QEMU documentation [1].

Using the built-in QEMU VMState machinery saves us from having to worry
about transfer and convergence of the data and letl QEMU take care of
it.

Any object on the D-Bus path `/org/qemu/VMState1` implementing that
interface will be called by QEMU during live-migration, iif the `Id`
property is registered within the `dbus-vmstate` QEMU object for a
specific VM.

The actual state loading/restoring is done via the conntrack(8) tool, a
small tool which already implements hard parts of interacting with the
conntrack subsystem via netlink.

Filtering is done on CONNMARK, which is set to the specific VMID for all
packets by the firewall.

Additionally, a custom `com.proxmox.VMStateHelper` interface is
implemented by the object, adding a small `Quit` method for cleanly
shutting down the daemon via the D-Bus API.

For all to work, D-Bus needs a policy describing who is allowed to
access the interface. [2]

Currently, there is a hard-limit of 1 MiB of state enforced by QEMU.
Typical conntrack state entries as dumped by conntrack(8) in the `save`
output format are just plaintext, ASCII lines and mostly around
150-200 characters. That translates then to about ~5200 entries that can
be migrated.

Such a typical line looks like:

  -A -t 431974 -u SEEN_REPLY,ASSURED -s 10.1.0.1 -d 10.1.1.20 \
  -r 10.1.1.20 -q 10.1.0.1 -p tcp --sport 48550 --dport 22 \
  --reply-port-src 22 --reply-port-dst 48550 --state ESTABLISHED

In the future, compression could be implemented for these before sending
them to QEMU, which should increase the above number quite a bit - since
these entries are nicely compressible.

[0] https://bugzilla.proxmox.com/show_bug.cgi?id=5180
[1] https://www.qemu.org/docs/master/interop/dbus-vmstate.html
[2] https://dbus.freedesktop.org/doc/dbus-daemon.1.html#configuration_file

Tested-by: Stefan Hanreich <s.hanreich@proxmox.com>
Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
Link: https://lore.proxmox.com/20250730094549.263805-7-c.heiss@proxmox.com
2025-07-30 22:55:32 +02:00
Fiona Ebner
76069e80b3 bump version to 9.0.9
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2025-07-29 17:06:36 +02:00
Thomas Lamprecht
bed20fdded bump version to 9.0.8
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-25 16:14:26 +02:00
Thomas Lamprecht
57ab9547a9 bump version to 9.0.7
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-23 15:41:37 +02:00
Thomas Lamprecht
9527ec9137 bump version to 9.0.6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-22 18:17:29 +02:00
Wolfgang Bumiller
d09ad6541d bump pve-storage dep to 9.0.7
for the get_formats api method and resolve_format_hint helper

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2025-07-22 15:05:27 +02:00
Thomas Lamprecht
25a13f633c bump version to 9.0.5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-21 21:53:27 +02:00
Thomas Lamprecht
bb199dd951 bump version to 9.0.4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-18 14:09:40 +02:00
Thomas Lamprecht
93a03d9cf3 bump version to 9.0.3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-17 22:13:38 +02:00
Thomas Lamprecht
139bc3a217 d/control: depend on libpve-access-control 9.0.2
To ensure new VM.GuestAgent privileges are available.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-17 22:13:38 +02:00
Thomas Lamprecht
6a727bc61b bump version to 9.0.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-17 01:23:23 +02:00
Thomas Lamprecht
995c05b5dc d/control: require libpve-storage-perl >= 9.0.4
To ensure external/storage-managed snapshot support works.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-17 01:23:23 +02:00
Thomas Lamprecht
a8417c5611 d/control: require libpve-common-perl >= 9.0.3
To ensure the normalize_pci_id method from sysfs tools we now use is
available.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-07-10 13:25:32 +02:00
Fabian Grünbichler
e72684d6c3 bump version to 9.0.1
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-07-03 14:48:57 +02:00
Stefan Hanreich
bed6bf99ec net: use pve-firewall helper for deciding whether to create fw bridges
pve-firewall introduced a new helper for deciding whether to create a
firewall bridge for a given tap interface. In addition to checking for
nftables, it also checks for the type of the bridge. This fixes an
issue with OVS and the nftables firewall, where firewall bridges are
still required in order for the guest firewall to work and the new
helper in pve-firewall checks for that condition now.

Previously, only the vm network script checked the condition for
creating a firewall bridge properly, but not the function for
hotplugging VM network devices. This caused a firewall bridge to
always get created when hotplugging a network device. The additional
firewall bridge had no influence on the functionality of nftables, but
was unnecessary.

For that matter a helper in qemu-server is introduced that should be
used by all call sites.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
Reviewed-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
FG: adapted context slightly
FG: bump versioned dependency
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-07-03 14:48:57 +02:00
Fiona Ebner
68ef5a6cc1 drive: parse: handle dropped properties
Restoring old backups should still work when properties are dropped
from the schema. In particular, it is necessary to skip such
properties when parsing the configuration during restore.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
FG: make dropping unconditional, not just for restore
FG: add pve-common min version to d/control
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-06-20 13:50:44 +02:00
Fiona Ebner
09c17b9c80 d/changelog: fix typos in previous entry
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2025-06-18 16:11:44 +02:00
Thomas Lamprecht
e85b352aa8 bump version to 9.0.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-06-17 15:37:53 +02:00
Thomas Lamprecht
ee08cd188d d/control: replace outdated pkg-config with pkgconf dependency
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-06-17 15:37:53 +02:00
Thomas Lamprecht
7bd23e21d6 d/control: record libpve-network-perl dependency
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-06-17 15:37:53 +02:00
Fiona Ebner
c2287c17a3 bump version to 8.3.13
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2025-06-16 10:24:29 +02:00
Thomas Lamprecht
a411016f58 bump version to 8.3.12
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-08 17:30:54 +02:00
Fiona Ebner
dfdd5c3689 d/control: bump (build-)dependency for libpve-guest-common-perl
Version 5.2.0 of libpve-guest-common-perl is required for the
PVE/Mapping/Dir.pm module, but there was a transitive dependency for
libpve-cluster-perl missing for tracking the corresponding file on the
cluster file system and build would still fail with: > unknown file
'mapping/directory.cfg' at /usr/share/perl5/PVE/Cluster.pm

Version 5.2.2 of libpve-guest-common-perl depends on recent enough
libpve-cluster-perl to fix this.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2025-04-08 12:47:00 +02:00
Thomas Lamprecht
01b761e7f0 bump version to 8.3.11
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-07 23:35:54 +02:00
Markus Frank
87b22e3839 fix #1027: virtio-fs support
Add support for sharing directories with a guest VM.

virtio-fs needs virtiofsd to be started. In order to start virtiofsd
as a process (despite being a daemon it is does not run in the
background), a double-fork is used.

virtiofsd should close itself together with QEMU.

There are the parameters dirid and the optional parameters direct-io,
cache and writeback. Additionally the expose-xattr & expose-acl
parameter can be set to expose xattr & acl settings from the shared
filesystem to the guest system.

The dirid gets mapped to the path on the current node and is also used
as a mount tag (name used to mount the device on the guest).

example config:
```
virtiofs0: foo,direct-io=1,cache=always,expose-acl=1
virtiofs1: dirid=bar,cache=never,expose-xattr=1,writeback=1
```

For information on the optional parameters see the coherent doc patch
and the official gitlab README:
https://gitlab.com/virtio-fs/virtiofsd/-/blob/main/README.md

Also add a permission check for virtiofs directory access.

Add virtiofsd to the Recommends list for the qemu-server Debian
package, this allows users to opt-out of installing this package, e.g.
for certification reasons.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Link: https://lore.proxmox.com/20250407134950.265270-3-m.frank@proxmox.com
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
 [TL: squash d/control change and re-add Lukas' T-b, as nothing
  essentially changed from the v16 where his tag applied]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-07 22:30:11 +02:00
Fiona Ebner
16d840e8d1 cfg2cmd: replace deprecated 'reconnect' option with 'reconnect-ms'
The 'reconnect' option was replaced by 'reconnect-ms' in QEMU commit
c8e2b6b4d7 ("chardev: introduce 'reconnect-ms' and deprecate
'reconnect'").

Makes qemu-server build-depend on QEMU 9.2 for the tests.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Link: https://lore.proxmox.com/20250407073256.8889-2-f.ebner@proxmox.com
2025-04-07 09:45:56 +02:00
Thomas Lamprecht
e654c584d8 bump version to 8.3.10
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-06 21:39:23 +02:00
Thomas Lamprecht
c6a291a28c d/control: update versioned dependency for libpve-storage-perl
To ensure new external backup provider infrastructure is available.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-06 21:22:47 +02:00
Thomas Lamprecht
e47cc3b935 d/control: bump versioned dependency for pve-edk2-firmware-ovmf
To ensure the new Confidential VM (CVM) images that got the Secure
Management Mode (SMM) disabled are available.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-03 21:23:20 +02:00
Thomas Lamprecht
c86b598198 bump version to 8.3.9
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-03 17:46:10 +02:00
Thomas Lamprecht
6bfe9a74c5 d/control: bump versioned dependency for libpve-guest-common-perl
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-04-03 17:32:55 +02:00
Fabian Grünbichler
78a0c43e7c bump version to 8.3.8
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-02-18 15:06:04 +01:00
Thomas Lamprecht
7a6c664fb2 bump version to 8.3.7
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-02-04 17:12:28 +01:00
Fabian Grünbichler
9ebec81f01 bump version to 8.3.6
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-01-20 14:46:45 +01:00
Fabian Grünbichler
b41549af09 bump version to 8.3.5
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2025-01-20 11:22:29 +01:00
Thomas Lamprecht
d55f7ced32 bump version to 8.3.4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2025-01-17 19:34:47 +01:00
Thomas Lamprecht
fa7e48662c bump version to 8.3.3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-12-15 14:26:36 +01:00
Fabian Grünbichler
0f8d3e0e34 bump version to 8.3.2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2024-12-09 10:16:07 +01:00
Thomas Lamprecht
30587be4ac bump version to 8.3.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-12-05 12:38:16 +01:00
Thomas Lamprecht
b62cf805fa d/changelog: fix various typos of older entries
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-12-05 12:19:51 +01:00