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 }

Reply via email to