This is an automated email from the ASF dual-hosted git repository.
DaanHoogland pushed a commit to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.22 by this push:
new 8d26cb3da6c Support for migration of system VMs with volumes in the
GUI (#13144)
8d26cb3da6c is described below
commit 8d26cb3da6cbf306194f92a8d2d770008f026213
Author: Tonitzpp <[email protected]>
AuthorDate: Wed Sep 2 05:19:32 2026 -0300
Support for migration of system VMs with volumes in the GUI (#13144)
Co-authored-by: toni.zamparetti <[email protected]>
---
.../view/InstanceVolumesStoragePoolSelectListView.vue | 3 ++-
ui/src/views/compute/MigrateWizard.vue | 15 ++++++++-------
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git
a/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue
b/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue
index b5663402a93..bac645e3e03 100644
--- a/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue
+++ b/ui/src/components/view/InstanceVolumesStoragePoolSelectListView.vue
@@ -170,7 +170,8 @@ export default {
this.volumes = []
getAPI('listVolumes', {
listAll: true,
- virtualmachineid: this.resource.id
+ virtualmachineid: this.resource.id,
+ listsystemvms: true
}).then(response => {
var volumes = response.listvolumesresponse.volume
if (volumes && volumes.length > 0) {
diff --git a/ui/src/views/compute/MigrateWizard.vue
b/ui/src/views/compute/MigrateWizard.vue
index ec756da3037..a3ad92a2d30 100644
--- a/ui/src/views/compute/MigrateWizard.vue
+++ b/ui/src/views/compute/MigrateWizard.vue
@@ -97,7 +97,7 @@
</a-pagination>
<a-form-item
- v-if="isUserVm && hasVolumes"
+ v-if="hasVolumes"
class="top-spaced">
<template #label>
<tooltip-label :title="$t('label.migrate.with.storage')"
:tooltip="$t('message.migrate.with.storage')"/>
@@ -307,7 +307,8 @@ export default {
this.volumes = []
getAPI('listVolumes', {
listAll: true,
- virtualmachineid: this.resource.id
+ virtualmachineid: this.resource.id,
+ listsystemvms: !this.isUserVm
}).then(response => {
this.volumes = response?.listvolumesresponse?.volume || []
}).finally(() => {
@@ -338,11 +339,11 @@ export default {
submitForm () {
if (this.loading) return
this.loading = true
- const migrateApi = this.isUserVm
- ? this.requiresStorageMigration()
- ? 'migrateVirtualMachineWithVolume'
- : 'migrateVirtualMachine'
- : 'migrateSystemVm'
+ const migrateApi = !this.requiresStorageMigration()
+ ? this.isUserVm
+ ? 'migrateVirtualMachine'
+ : 'migrateSystemVm'
+ : 'migrateVirtualMachineWithVolume'
var params = this.selectedHost.id === -1
? { autoselect: true, virtualmachineid: this.resource.id }
: { hostid: this.selectedHost.id, virtualmachineid: this.resource.id }