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

Dominik Csapak d.csapak at proxmox.com
Fri Dec 5 10:59:09 CET 2025



On 12/5/25 10:56 AM, Fiona Ebner wrote:
> 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


oops yeah, just copy/pasted from the wrong place v2 incoming ;)




More information about the pve-devel mailing list