[pve-devel] [PATCH v2 qemu-server] Improve handling and description of migrate with --online
Fabian Ebner
f.ebner at proxmox.com
Mon Sep 23 09:56:01 CEST 2019
Thanks to Stefan and Thomas for the suggestions.
Changes from v1:
* update parameter description
* warn instead of die
Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
---
PVE/API2/Qemu.pm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 8be0b7b..b355051 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -3257,7 +3257,7 @@ __PACKAGE__->register_method({
}),
online => {
type => 'boolean',
- description => "Use online/live migration.",
+ description => "Use online/live migration if VM is running. Ignored if VM is stopped.",
optional => 1,
},
force => {
@@ -3318,9 +3318,6 @@ __PACKAGE__->register_method({
my $vmid = extract_param($param, 'vmid');
- raise_param_exc({ targetstorage => "Live storage migration can only be done online." })
- if !$param->{online} && $param->{targetstorage};
-
raise_param_exc({ force => "Only root may use this option." })
if $param->{force} && $authuser ne 'root at pam';
@@ -3341,8 +3338,14 @@ __PACKAGE__->register_method({
if (PVE::QemuServer::check_running($vmid)) {
die "cant migrate running VM without --online\n"
if !$param->{online};
+ } else {
+ warn "VM isn't running. Doing offline migration instead." if $param->{online};
+ $param->{online} = 0;
}
+ raise_param_exc({ targetstorage => "Live storage migration can only be done online." })
+ if !$param->{online} && $param->{targetstorage};
+
my $storecfg = PVE::Storage::config();
if( $param->{targetstorage}) {
--
2.20.1
More information about the pve-devel
mailing list