[pve-devel] [PATCH manager] api: workaround non-working 'maxworkers' alias in bulk actions api calls

Fiona Ebner f.ebner at proxmox.com
Fri Dec 5 10:57:23 CET 2025


Lot's of "work" in the commit title :P

Am 05.12.25 um 10:15 AM schrieb Dominik Csapak:
> It seems, that 'alias' schema does not properly work currently for
> normal schema definitions (only for property-string), since it does not

Missing "do" here

> verification of the actual schema (verified by calling the api with

Nit: s/verfified/checked/ sounds a bit nicer to avoid re-using "verify" ;)

> maxworkers=1000, which throws no errors). Luckily, this is the only use
> as api parameters that I could find, and here it did not do anything,

Nit: s/only use as/only use of 'alias' for/

Well, the "not do anything" is rather bad for the node-specific one,
which existed for longer, where it breaks existing API users.

> since we did not actually use `$param->{maxworkers}` anymore.
>
> In the long term, we should fix it in JSONSchema, but as a stop-gap,
> restore the old 'maxworkers' parameters to a 'real' property and mark it
> deprecated.
> 
> Also actually use it in the code and fix the error message to the new
> variant.
> 
> Reported in the forums for the node-specific one (since there the gui
> uses still the old variant):
> https://forum.proxmox.com/threads/bulk-migrate-error-in-9-1-2.177326/
> 
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>

With the issue mentioned below fixed:

Reviewed-by: Fiona Ebner <f.ebner at proxmox.com>

> diff --git a/PVE/API2/Cluster/BulkAction/Guest.pm b/PVE/API2/Cluster/BulkAction/Guest.pm
> index 3a53ca60..9ed7dbb6 100644
> --- a/PVE/API2/Cluster/BulkAction/Guest.pm
> +++ b/PVE/API2/Cluster/BulkAction/Guest.pm
> @@ -704,7 +723,13 @@ __PACKAGE__->register_method({
>                  optional => 1,
>              },
>              maxworkers => {
> -                alias => 'max-workers',
> +                description => "Defines the maximum number of tasks running concurrently."
> +                    . " Deprecated, use 'max-workers' instead.",
> +                optional => 1,
> +                default => 4,
> +                type => 'integer',
> +                minimum => 1,
> +                maximum => 64,
>              },
>              'max-workers' => {
>                  description => "Defines the maximum number of tasks running concurrently.",

For the migrate one here, the default for 'max-workers' is 1, not 4




More information about the pve-devel mailing list