[pve-devel] [PATCH v5 qemu-server 10/11] api: add remote migrate endpoint
Fabian Grünbichler
f.gruenbichler at proxmox.com
Wed Feb 16 13:58:41 CET 2022
On February 11, 2022 2:01 pm, Fabian Ebner wrote:
> Am 09.02.22 um 14:07 schrieb Fabian Grünbichler:
>> @@ -4016,6 +4016,206 @@ __PACKAGE__->register_method({
>>
>> }});
>>
>> +__PACKAGE__->register_method({
>> + name => 'remote_migrate_vm',
>> + path => '{vmid}/remote_migrate',
>> + method => 'POST',
>> + protected => 1,
>> + proxyto => 'node',
>> + description => "Migrate virtual machine to a remote cluster. Creates a new migration task.",
>> + permissions => {
>> + check => ['perm', '/vms/{vmid}', [ 'VM.Migrate' ]],
>> + },
>> + parameters => {
>> + additionalProperties => 0,
>> + properties => {
>> + node => get_standard_option('pve-node'),
>> + vmid => get_standard_option('pve-vmid', { completion => \&PVE::QemuServer::complete_vmid }),
>> + 'target-vmid' => get_standard_option('pve-vmid', { optional => 1 }),
>> + 'target-endpoint' => get_standard_option('proxmox-remote', {
>> + description => "Remote target endpoint",
>> + }),
>> + online => {
>> + type => 'boolean',
>> + description => "Use online/live migration if VM is running. Ignored if VM is stopped.",
>> + optional => 1,
>> + },
>> + 'with-local-disks' => {
>> + type => 'boolean',
>> + description => "Enable live storage migration for local disk",
>> + optional => 1,
>> + },
>
> Shouldn't this simply always be true, rather than an optional parameter?
depends on what our plans for cross-cluster shared storages are ;) but
yeah, can be left out for now - this is still experimental anyway (also
added a marker for that for the next revision), so if we re-introduce it
it's a fairly small breaking change anyway, or we could default to on so
that only those rare setups with actually shared storages opt out.
>
>> + delete => {
>> + type => 'boolean',
>> + description => "Delete the original VM and related data after successful migration. By default the original VM is kept on the source cluster in a stopped state.",
>> + optional => 1,
>> + default => 0,
>> + },
>> + 'target-storage' => get_standard_option('pve-targetstorage', {
>> + completion => \&PVE::QemuServer::complete_migration_storage,
>> + optional => 0,
>> + }),
>
> Style nit: indentation is wrong
>
>> + 'target-bridge' => {
>> + type => 'string',
>> + description => "Mapping from source to target bridges. Providing only a single bridge ID maps all source bridges to that bridge. Providing the special value '1' will map each source bridge to itself.",
>> + format => 'bridge-pair-list',
>> + },
>
> Same two comments apply to the next patch.
>
More information about the pve-devel
mailing list