From e90e436ef873100b1916c80c0309c1eefcc4a265 Mon Sep 17 00:00:00 2001 From: Suresh Kumar Anaparti Date: Wed, 29 Oct 2025 15:48:32 +0530 Subject: [PATCH 1/3] UI: Enable listall (for Affinity Groups, SSH Keypairs, User Data) in deploy instance wizard for admin, and lists SSH Keypairs, User Data by domain/account (#11906) --- ui/src/views/compute/DeployVM.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/ui/src/views/compute/DeployVM.vue b/ui/src/views/compute/DeployVM.vue index 82a54ed8314..97ef7bb5a96 100644 --- a/ui/src/views/compute/DeployVM.vue +++ b/ui/src/views/compute/DeployVM.vue @@ -879,6 +879,7 @@ import { ref, reactive, toRaw, nextTick, h } from 'vue' import { Button } from 'ant-design-vue' import { api } from '@/api' +import { isAdmin } from '@/role' import _ from 'lodash' import { mixin, mixinDevice } from '@/utils/mixin.js' import store from '@/store' @@ -1170,6 +1171,7 @@ export default { return _.map(this.affinityGroups, 'id') }, params () { + const listAll = isAdmin() return { serviceOfferings: { list: 'listServiceOfferings', @@ -1217,7 +1219,7 @@ export default { domainid: this.owner.domainid, projectid: this.owner.projectid, keyword: undefined, - listall: false + listall: listAll } }, sshKeyPairs: { @@ -1225,8 +1227,11 @@ export default { options: { page: 1, pageSize: 10, + account: this.owner.account, + domainid: this.owner.domainid, + projectid: this.owner.projectid, keyword: undefined, - listall: false + listall: listAll } }, userDatas: { @@ -1234,8 +1239,11 @@ export default { options: { page: 1, pageSize: 10, + account: this.owner.account, + domainid: this.owner.domainid, + projectid: this.owner.projectid, keyword: undefined, - listall: false + listall: listAll } }, networks: { From d53b6dbda42f56c6f67f4452647e93f4b7ad35a8 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Mon, 3 Nov 2025 15:25:09 +0100 Subject: [PATCH 2/3] api/test: fix storage pool update with only id (#11897) --- .../api/command/admin/storage/UpdateStoragePoolCmd.java | 2 ++ test/integration/smoke/test_direct_download.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java index f2d7bbeb189..6f522fe1e8c 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java @@ -153,6 +153,8 @@ public class UpdateStoragePoolCmd extends BaseCmd { if (ObjectUtils.anyNotNull(name, capacityIops, capacityBytes, url, isTagARule, tags) || MapUtils.isNotEmpty(details)) { result = _storageService.updateStoragePool(this); + } else { + result = _storageService.getStoragePool(getId()); } if (enabled != null) { diff --git a/test/integration/smoke/test_direct_download.py b/test/integration/smoke/test_direct_download.py index 6570bb9f0b3..e6960163bc2 100644 --- a/test/integration/smoke/test_direct_download.py +++ b/test/integration/smoke/test_direct_download.py @@ -251,7 +251,10 @@ class TestDirectDownloadTemplates(cloudstackTestCase): self.apiclient, id=poolId ) - return local_pool[0].tags + if local_pool[0].tags: + return local_pool[0].tags + else: + return "" def updateStoragePoolTags(self, poolId, tags): StoragePool.update( From ac8c200790f9be84c216b8777ab7acace4cf6ce1 Mon Sep 17 00:00:00 2001 From: Suresh Kumar Anaparti Date: Thu, 6 Nov 2025 14:41:27 +0530 Subject: [PATCH 3/3] merge fix --- ui/src/views/compute/DeployVM.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/ui/src/views/compute/DeployVM.vue b/ui/src/views/compute/DeployVM.vue index a47fce6aa81..e13c9bc17b2 100644 --- a/ui/src/views/compute/DeployVM.vue +++ b/ui/src/views/compute/DeployVM.vue @@ -928,6 +928,7 @@ import { ref, reactive, toRaw, nextTick, h } from 'vue' import { Button, message } from 'ant-design-vue' import { getAPI, postAPI } from '@/api' +import { isAdmin } from '@/role' import _ from 'lodash' import { mixin, mixinDevice } from '@/utils/mixin.js' import store from '@/store'