Am 17.01.25 um 15:24 schrieb Fiona Ebner:
> Changes in v4:
> * dropped already applied patch
> * move import for get_host_arch() to earlier patch where it is already needed
> * squash rename and move patches for get_command_for_arch() together
> * rename machine_version_at_least -> is_machine_versi
On 1/17/25 16:27, Thomas Lamprecht wrote:
Am 17.01.25 um 16:10 schrieb Daniel Kral:
What do you think about fixing the problem from the other side: I could
do a follow up where it's not possible to actively assign a VM more
resources than currently available, since it would not boot anyway? I
th
Am 17.01.25 um 16:10 schrieb Daniel Kral:
> What do you think about fixing the problem from the other side: I could
> do a follow up where it's not possible to actively assign a VM more
> resources than currently available, since it would not boot anyway? I
> think there's a negligible amount of
On 1/13/25 10:45, Daniel Herzig wrote:
I just tested this patch and think it gives very valuable information.
Thanks for taking a look at this and sorry for taking some time to get
back to this.
One thing I noticed, more by chance than intentional -- if the host has
a lower cpu-count than
Signed-off-by: Fiona Ebner
---
PVE/QemuServer/Machine.pm | 1 +
1 file changed, 1 insertion(+)
diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index e6fbd865..3cac294c 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine.pm
@@ -270,6 +270,7 @@ sub check_and_pin_
Elaborate on new QEMU machine version removal policy and how PVE will
support machine versions.
Signed-off-by: Fiona Ebner
---
Changes in v4:
* use a dedicated section to describe the new removal policy
* drop table, instead describe how the cut-off decision is made with examples
* address other
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 2 +-
PVE/QemuServer.pm | 38 ++
PVE/QemuServer/Machine.pm | 34 ++
3 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/
Extract the logic for guest OS-type dependent machine version pinning
into a dedicated helper, so it can be re-used.
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 14 +++---
PVE/QemuServer/Machine.pm | 16
2 files changed, 19 insertions(+), 11 deletions(-)
Starting from QEMU creation version 9.1, pin to the creation version
instead. Support for machine version 5.1 is expected to drop with QEMU
11.1 and it would still be good to handle Windows VMs that do not have
explicit machine version for whatever reason. For example, explicitly
setting the machin
There are already other places where 'aarch64' and 'x86_64' are
checked to be the only valid architectures, for example, the
get_command_for_arch() helper, so the new error scenario for an
unknown arch should not cause any regressions.
Signed-off-by: Fiona Ebner
---
PVE/QemuServer.pm |
During virtual machine creation, the machine version is pinned when
the guest OS is Windows. The same should be done when the guest OS
type is newly set to Windows for consistency.
NOTE RFC
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 18 ++
1 file changed, 18 insertions(+)
Signed-off-by: Fiona Ebner
---
PVE/QemuServer.pm | 9 +
PVE/QemuServer/Machine.pm | 7 +++
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 82795767..ee7bb017 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3
Like this, it can be used by modules that cannot depend on
QemuServer.pm without creating a cyclic dependency.
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 3 ++-
PVE/QemuServer.pm | 42 +++---
PVE/QemuServer/Makefile| 1 +
PVE/QemuServer
Add an export, since the function is rather commonly used (in
particular inlined in function calls, where prefixing with the module
name would hurt readability) and there won't be much potential for
confusion name-wise.
This was the only user of stat(), so remove the File::stat include.
Signed-of
Suggested by perlcritic.
Signed-off-by: Fiona Ebner
---
PVE/QemuServer/Machine.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index 66988bf3..f1acde8f 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine
The old name does not make it clear what exactly the function does.
Signed-off-by: Fiona Ebner
---
Changes in v4:
* rename to is_machine_version_at_least()
PVE/QemuServer.pm | 4 ++--
PVE/QemuServer/Machine.pm | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/PVE/Q
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 3 ++-
PVE/QemuServer.pm | 24 +---
PVE/QemuServer/Machine.pm | 20
3 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 2840de1b..8d0
Changes in v4:
* dropped already applied patch
* move import for get_host_arch() to earlier patch where it is already needed
* squash rename and move patches for get_command_for_arch() together
* rename machine_version_at_least -> is_machine_version_at_least
* use a dedicated section to describe th
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 4 ++--
PVE/QemuServer.pm | 13 -
PVE/QemuServer/Helpers.pm | 5 +
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 868508e7..2840de1b 100644
--- a/PVE/AP
Cannot use the is_native_arch() helper inside the function anymore,
to avoid a cyclic dependency between the 'CPUConfig' and 'Helpers'
modules, inline it.
While at it, improve the variable name for the mapping.
Signed-off-by: Fiona Ebner
---
Changes in v4:
* add import for get_host_arch()
* squ
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 4 ++--
PVE/QemuServer.pm | 2 +-
PVE/QemuServer/Machine.pm | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 8392400e..52425ee8 100644
--- a/PVE/API2/Qemu.pm
+++ b/PV
Am 17.01.25 um 14:33 schrieb Fiona Ebner:
> Am 17.01.25 um 13:39 schrieb Thomas Lamprecht:
>> Am 16.01.25 um 12:50 schrieb Fiona Ebner:
>>> diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
>>> index 9b18cf6e..6398e756 100644
>>> --- a/PVE/QemuServer/Machine.pm
>>> +++ b/PVE/QemuSe
Am 17.01.25 um 13:39 schrieb Thomas Lamprecht:
> Am 16.01.25 um 12:50 schrieb Fiona Ebner:
>> diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
>> index 9b18cf6e..6398e756 100644
>> --- a/PVE/QemuServer/Machine.pm
>> +++ b/PVE/QemuServer/Machine.pm
>> @@ -136,7 +136,7 @@ sub extrac
Am 17.01.25 um 13:08 schrieb Fiona Ebner:
> In commit a35f8577a0 ("include/hw: add macros for deprecation &
> removal of versioned machines"), a new machine version deprecation and
> removal policy was introduced. After only 3 years a machine version
> will be deprecated while being removed after 6
Am 17.01.25 um 13:07 schrieb Fiona Ebner:
> Changes in v3:
> * improve code readibility for Windows machine version fallback change
>
my v2 review got a bit interrupted so I was to slow before you sent v3.
I sent the rest of the stuff I noticed out only now for the v2 thread,
but AFAICT it still
Am 16.01.25 um 12:50 schrieb Fiona Ebner:
> Elaborate on new QEMU machine version removal policy and how PVE will
> support machine versions. Make sure to also mention the years, so that
> users immediately have a good idea for how long it will be.
>
> Signed-off-by: Fiona Ebner
> ---
>
> Change
On 1/17/25 12:34, Daniel Herzig wrote:
Thanks for this review, this helps a lot on setting up an optimized v3.
Daniel Kral writes:
If the parameter is set to 0, the configuration will temporarily
changed to use
'none' as file for the cd drive, which allows qemu to start up the machine.
The
Daniel Kral writes:
> On 1/13/25 09:56, Daniel Herzig wrote:
>> Eject by setting file to none.
>
> That's a great addition to the WebGUI!
>
> One small thing: What about also allow ejecting physical CDROMs? :)
>
Let me think about this :)
___
pve-deve
Am 16.01.25 um 12:50 schrieb Fiona Ebner:
> The old name does not make it clear what exactly the function does.
>
> Signed-off-by: Fiona Ebner
> ---
> PVE/QemuServer.pm | 4 ++--
> PVE/QemuServer/Machine.pm | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/PVE/
Daniel Kral writes:
> On 1/13/25 09:56, Daniel Herzig wrote:
>> Enables the 'required' checkbox for the IsoSelector.
>> If the parameter is not set, the backend will use the default (set to
>> 1).
>> Behaviour:
>> * Only send parameter if not default (required=0)
>> * Checked if parameter is miss
Daniel Kral writes:
> On 1/13/25 09:55, Daniel Herzig wrote:
>> Current behaviour prevents a VM from starting, if an ISO file defined
>> in the configuration becomes unavailable.
>> The function eject_nonrequired_isos checks on whether a cdrom drive
>> is
>> marked as 'required' or not. If the pa
Am 16.01.25 um 17:30 schrieb Aaron Lauterer:
> Until now, the pvestatd did broadcast the pve-manager version only once
> after startup of the service. But there are some situations, where the
> local pmxcfs (pve-cluster) restarts and loses that information.
> Basically everytime we restart the pmxc
Am 16.01.25 um 12:50 schrieb Fiona Ebner:
> diff --git a/PVE/QemuServer/Helpers.pm b/PVE/QemuServer/Helpers.pm
> index 72a46a0a..d58bad2b 100644
> --- a/PVE/QemuServer/Helpers.pm
> +++ b/PVE/QemuServer/Helpers.pm
> @@ -19,6 +19,19 @@ windows_version
>
> my $nodename = PVE::INotify::nodename();
>
Am 16.01.25 um 12:50 schrieb Fiona Ebner:
> Signed-off-by: Fiona Ebner
> ---
> PVE/QemuServer/Helpers.pm | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/PVE/QemuServer/Helpers.pm b/PVE/QemuServer/Helpers.pm
> index d58bad2b..be10a92a 100644
> --- a/PVE/QemuServer/Hel
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 3 ++-
PVE/QemuServer.pm | 24 +---
PVE/QemuServer/Machine.pm | 20
3 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 2840de1b..8d0
Cannot use the is_native_arch() helper inside the function anymore,
to avoid a cyclic dependency between the 'CPUConfig' and 'Helpers'
modules, inline it.
Signed-off-by: Fiona Ebner
---
PVE/QemuServer.pm | 19 +++
PVE/QemuServer/Helpers.pm | 13 +
2 files chan
During virtual machine creation, the machine version is pinned when
the guest OS is Windows. The same should be done when the guest OS
type is newly set to Windows for consistency.
NOTE RFC
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 18 ++
1 file changed, 18 insertions(+)
Like this, it can be used by modules that cannot depend on
QemuServer.pm without creating a cyclic dependency.
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 3 ++-
PVE/QemuServer.pm | 42 +++---
PVE/QemuServer/Makefile| 1 +
PVE/QemuServer
Starting from QEMU creation version 9.1, pin to the creation version
instead. Support for machine version 5.1 is expected to drop with QEMU
11.1 and it would still be good to handle Windows VMs that do not have
explicit machine version for whatever reason. For example, explicitly
setting the machin
Add an export, since the function is rather commonly used (in
particular inlined in function calls, where prefixing with the module
name would hurt readability) and there won't be much potential for
confusion name-wise.
This was the only user of stat(), so remove the File::stat include.
Signed-of
Suggested by perlcritic.
Signed-off-by: Fiona Ebner
---
PVE/QemuServer/Machine.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index 451ba7ee..d897bd28 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 4 ++--
PVE/QemuServer.pm | 13 -
PVE/QemuServer/Helpers.pm | 5 +
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 868508e7..2840de1b 100644
--- a/PVE/AP
In commit a35f8577a0 ("include/hw: add macros for deprecation &
removal of versioned machines"), a new machine version deprecation and
removal policy was introduced. After only 3 years a machine version
will be deprecated while being removed after 6 years.
The deprecation is a bit early considerin
Signed-off-by: Fiona Ebner
---
PVE/QemuServer/Machine.pm | 1 +
1 file changed, 1 insertion(+)
diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index e6fbd865..3cac294c 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine.pm
@@ -270,6 +270,7 @@ sub check_and_pin_
Changes in v3:
* improve code readibility for Windows machine version fallback change
Changes in v2:
* change deprecation logic into QEMU itself rather than just weakening
the warning there (so no need to change the deprecation logic in
qemu-server anymore)
* get rid of outdated information fr
Signed-off-by: Fiona Ebner
---
PVE/QemuServer.pm | 9 +
PVE/QemuServer/Machine.pm | 7 +++
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 82795767..ee7bb017 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 2 +-
PVE/QemuServer.pm | 38 ++
PVE/QemuServer/Machine.pm | 34 ++
3 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/
Elaborate on new QEMU machine version removal policy and how PVE will
support machine versions. Make sure to also mention the years, so that
users immediately have a good idea for how long it will be.
Signed-off-by: Fiona Ebner
---
qm.adoc | 39 +++
1 file cha
The old name does not make it clear what exactly the function does.
Signed-off-by: Fiona Ebner
---
PVE/QemuServer.pm | 4 ++--
PVE/QemuServer/Machine.pm | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 6f2a9aed..58d23533 1
Extract the logic for guest OS-type dependent machine version pinning
into a dedicated helper, so it can be re-used.
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 14 +++---
PVE/QemuServer/Machine.pm | 16
2 files changed, 19 insertions(+), 11 deletions(-)
Signed-off-by: Fiona Ebner
---
PVE/API2/Qemu.pm | 4 ++--
PVE/QemuServer.pm | 2 +-
PVE/QemuServer/Machine.pm | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 8392400e..52425ee8 100644
--- a/PVE/API2/Qemu.pm
+++ b/PV
There are already other places where 'aarch64' and 'x86_64' are
checked to be the only valid architectures, for example, the
get_command_for_arch() helper, so the new error scenario for an
unknown arch should not cause any regressions.
Signed-off-by: Fiona Ebner
---
PVE/QemuServer.pm |
Signed-off-by: Fiona Ebner
---
PVE/QemuServer/Helpers.pm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/PVE/QemuServer/Helpers.pm b/PVE/QemuServer/Helpers.pm
index d58bad2b..be10a92a 100644
--- a/PVE/QemuServer/Helpers.pm
+++ b/PVE/QemuServer/Helpers.pm
@@ -19,7 +19,7 @@
Daniel Kral writes:
> On 1/13/25 09:55, Daniel Herzig wrote:
>> This stub function can be used for mocking a file's existance in testruns.
>> Signed-off-by: Daniel Herzig
>> ---
>> PVE/QemuServer.pm | 5 +
>> 1 file changed, 5 insertions(+)
>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServ
Thanks for this review, this helps a lot on setting up an optimized v3.
Daniel Kral writes:
>
>> If the parameter is set to 0, the configuration will temporarily
>> changed to use
>> 'none' as file for the cd drive, which allows qemu to start up the machine.
>> The configuration is not changed i
Am 17.01.25 um 10:27 schrieb Fiona Ebner:
> Am 17.01.25 um 10:19 schrieb Thomas Lamprecht:
>> But wouldn't the machine version jump from 5.1 to creation-QEMU with your
>> change for any VM that was created via CLI/API without explicit machine
>> version but with the code that adds the creation QEMU
Am 17.01.25 um 10:19 schrieb Thomas Lamprecht:
> nit, if there will be a v3 I'd adapt the subject to:
>
> machine: fallback to creation QEMU version for windows starting with 9.1
>
> The additional tag did not provide much useful additional info IMO and
> made the subject rather long.
>
Ack
>
nit, if there will be a v3 I'd adapt the subject to:
machine: fallback to creation QEMU version for windows starting with 9.1
The additional tag did not provide much useful additional info IMO and
made the subject rather long.
Am 16.01.25 um 12:50 schrieb Fiona Ebner:
> Starting from QEMU 9.1, p
58 matches
Mail list logo