This is an automated email from the ASF dual-hosted git repository.
nvazquez pushed a change to branch nsx-integration
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from e6cddc549ca Merge branch 'main' into nsx-integration
add 4a0ca2071d3 An ICMP ACL rule should not be able to have code and type
null (#8464)
add a31449b1049 Allow altering only either CPU or memory during VM live
scale (#8234)
add 17516fd9890 test: skip check for volume stats history on xenserver
(#8661)
add f86c62e49a5 UI: load domain lists only if listDomains API is available
(#8660)
add 6f3e4e63022 fix_filter_and_pagination (#8306)
add a0e592e945e prevent nic removal on out of bounds router stop (#8371)
add 6af1c25f520 Merge remote-tracking branch 'apache/4.19'
add 592038a3042 api,server,ui: granular resource limit management (#8362)
add 4c36d561438 Merge branch 'main' into nsx-integration
No new revisions were added by this update.
Summary of changes:
.github/workflows/ci.yml | 3 +-
api/src/main/java/com/cloud/capacity/Capacity.java | 9 +
.../java/com/cloud/configuration/Resource.java | 1 +
.../java/com/cloud/server/ManagementService.java | 3 +-
api/src/main/java/com/cloud/storage/Volume.java | 2 +
.../java/com/cloud/user/ResourceLimitService.java | 76 +-
api/src/main/java/com/cloud/vm/NicProfile.java | 2 +-
.../org/apache/cloudstack/api/ApiConstants.java | 7 +-
.../api/command/admin/domain/ListDomainsCmd.java | 30 +-
.../command/admin/resource/ListCapacityCmd.java | 7 +
.../storage/FindStoragePoolsForMigrationCmd.java | 5 +-
.../api/command/user/account/ListAccountsCmd.java | 23 +-
.../user/offering/ListDiskOfferingsCmd.java | 23 +-
.../user/offering/ListServiceOfferingsCmd.java | 18 +-
.../user/resource/ListResourceLimitsCmd.java | 14 +-
.../user/resource/UpdateResourceCountCmd.java | 10 +-
.../user/resource/UpdateResourceLimitCmd.java | 9 +-
.../command/user/template/UpdateTemplateCmd.java | 8 +-
.../cloudstack/api/response/AccountResponse.java | 9 +
.../cloudstack/api/response/CapacityResponse.java | 11 +-
.../api/response/DiskOfferingResponse.java | 8 +
.../cloudstack/api/response/DomainResponse.java | 10 +
.../cloudstack/api/response/ProjectResponse.java | 9 +
.../api/response/ResourceCountResponse.java | 16 +-
.../response/ResourceLimitAndCountResponse.java | 4 +
.../api/response/ResourceLimitResponse.java | 13 +-
.../TaggedResourceLimitAndCountResponse.java | 86 ++
.../cloudstack/user/ResourceReservation.java | 5 +-
.../command/admin/domain/ListDomainsCmdTest.java | 77 ++
.../resource/ListCapacityCmdTest.java} | 16 +-
.../command/user/account/ListAccountsCmdTest.java | 76 ++
.../ListDiskOfferingsCmdTest.java} | 21 +-
.../ListServiceOfferingsCmdTest.java} | 22 +-
.../ListResourceLimitsCmdTest.java} | 21 +-
.../UpdateResourceCountCmdTest.java} | 21 +-
.../UpdateResourceLimitCmdTest.java} | 21 +-
.../template/UpdateTemplateCmdTest.java} | 31 +-
.../main/java/com/cloud/serializer/GsonHelper.java | 2 +
.../java/com/cloud/vm/VirtualMachineManager.java | 2 +
.../api/storage/StoragePoolAllocator.java | 3 +
.../java/com/cloud/storage/StorageManager.java | 7 +
.../com/cloud/vm/VirtualMachineManagerImpl.java | 65 +-
.../engine/orchestration/NetworkOrchestrator.java | 11 +-
.../engine/orchestration/VolumeOrchestrator.java | 17 +-
.../cloud/vm/VirtualMachineManagerImplTest.java | 83 +-
.../main/java/com/cloud/capacity/CapacityVO.java | 12 +
.../java/com/cloud/capacity/dao/CapacityDao.java | 5 +-
.../com/cloud/capacity/dao/CapacityDaoImpl.java | 68 +-
.../com/cloud/configuration/ResourceCountVO.java | 23 +-
.../com/cloud/configuration/ResourceLimitVO.java | 18 +-
.../cloud/configuration/dao/ResourceCountDao.java | 20 +-
.../configuration/dao/ResourceCountDaoImpl.java | 103 +-
.../cloud/configuration/dao/ResourceLimitDao.java | 4 +-
.../configuration/dao/ResourceLimitDaoImpl.java | 61 +-
.../src/main/java/com/cloud/host/HostVO.java | 39 +-
.../src/main/java/com/cloud/host/dao/HostDao.java | 2 +-
.../main/java/com/cloud/host/dao/HostDaoImpl.java | 6 +-
.../com/cloud/service/dao/ServiceOfferingDao.java | 2 +
.../cloud/service/dao/ServiceOfferingDaoImpl.java | 18 +
.../com/cloud/storage/dao/DiskOfferingDao.java | 1 +
.../com/cloud/storage/dao/DiskOfferingDaoImpl.java | 18 +
.../com/cloud/storage/dao/StoragePoolTagsDao.java | 1 +
.../cloud/storage/dao/StoragePoolTagsDaoImpl.java | 18 +-
.../java/com/cloud/storage/dao/VMTemplateDao.java | 3 +
.../com/cloud/storage/dao/VMTemplateDaoImpl.java | 10 +
.../main/java/com/cloud/storage/dao/VolumeDao.java | 3 +
.../java/com/cloud/storage/dao/VolumeDaoImpl.java | 24 +
.../schema/src/main/java/com/cloud/vm/NicVO.java | 13 +-
.../cloudstack/reservation/ReservationVO.java | 28 +-
.../cloudstack/reservation/dao/ReservationDao.java | 7 +-
.../reservation/dao/ReservationDaoImpl.java | 40 +-
.../storage/datastore/db/PrimaryDataStoreDao.java | 8 +-
.../datastore/db/PrimaryDataStoreDaoImpl.java | 28 +-
.../resources/META-INF/db/schema-41900to42000.sql | 10 +
.../META-INF/db/views/cloud.account_view.sql | 164 +++
.../META-INF/db/views/cloud.domain_view.sql | 134 +++
.../src/test/java/com/cloud/host/HostVOTest.java | 210 ++--
.../allocator/AbstractStoragePoolAllocator.java | 34 +-
.../ClusterScopeStoragePoolAllocator.java | 2 +-
.../GarbageCollectingStoragePoolAllocator.java | 2 +-
.../allocator/LocalStoragePoolAllocator.java | 4 +-
.../allocator/ZoneWideStoragePoolAllocator.java | 2 +-
.../AbstractStoragePoolAllocatorTest.java | 2 +-
.../storage/volume/VolumeServiceImpl.java | 6 +-
.../manager/allocator/impl/RandomAllocator.java | 48 +-
.../allocator/impl/RandomAllocatorTest.java | 80 ++
.../cloud/agent/manager/MockStorageManager.java | 3 +
.../agent/manager/MockStorageManagerImpl.java | 30 +
.../cloud/agent/manager/SimulatorManagerImpl.java | 3 +
.../cloudstack/metrics/PrometheusExporterImpl.java | 26 +-
.../allocator/RandomStoragePoolAllocator.java | 2 +-
server/src/main/java/com/cloud/api/ApiDBUtils.java | 43 +-
.../main/java/com/cloud/api/ApiResponseHelper.java | 28 +-
.../java/com/cloud/api/query/QueryManagerImpl.java | 74 +-
.../com/cloud/api/query/ViewResponseHelper.java | 8 +-
.../com/cloud/api/query/dao/UserVmJoinDao.java | 5 +-
.../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 27 +
.../deploy/DeploymentPlanningManagerImpl.java | 8 +-
.../com/cloud/network/guru/ControlNetworkGuru.java | 13 +-
.../cloud/network/guru/PodBasedNetworkGuru.java | 2 +-
.../router/VirtualNetworkApplianceManager.java | 99 +-
.../router/VirtualNetworkApplianceManagerImpl.java | 82 +-
.../cloud/network/vpc/NetworkACLServiceImpl.java | 35 +-
.../cloud/resourcelimit/CheckedReservation.java | 94 +-
.../resourcelimit/ResourceLimitManagerImpl.java | 1025 +++++++++++++++----
.../com/cloud/server/ManagementServerImpl.java | 334 ++++---
.../java/com/cloud/storage/StorageManagerImpl.java | 145 ++-
.../com/cloud/storage/VolumeApiServiceImpl.java | 66 +-
.../storage/snapshot/SnapshotManagerImpl.java | 4 +-
.../cloud/template/HypervisorTemplateAdapter.java | 3 +-
.../com/cloud/template/TemplateManagerImpl.java | 6 +
.../java/com/cloud/user/DomainManagerImpl.java | 48 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 261 +++--
.../cloudstack/vm/UnmanagedVMsManagerImpl.java | 72 +-
.../java/com/cloud/api/ApiResponseHelperTest.java | 29 +
.../com/cloud/api/query/QueryManagerImplTest.java | 54 +
.../network/vpc/NetworkACLServiceImplTest.java | 98 +-
.../resourcelimit/CheckedReservationTest.java | 66 +-
.../ResourceLimitManagerImplTest.java | 1051 +++++++++++++++++++-
.../com/cloud/storage/StorageManagerImplTest.java | 271 ++++-
.../cloud/storage/VolumeApiServiceImplTest.java | 13 +-
.../AccountManagerImplVolumeDeleteEventTest.java | 2 -
.../java/com/cloud/vm/UserVmManagerImplTest.java | 232 ++++-
.../cloud/vpc/MockResourceLimitManagerImpl.java | 165 ++-
.../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 183 ++--
.../component/test_resource_limit_tags.py | 648 ++++++++++++
test/integration/smoke/test_metrics_api.py | 2 +-
ui/public/locales/en.json | 12 +-
ui/src/components/view/ResourceCountUsage.vue | 140 ++-
ui/src/components/view/ResourceLimitTab.vue | 94 +-
ui/src/components/view/TreeView.vue | 6 +-
ui/src/config/section/image.js | 2 +-
ui/src/utils/plugins.js | 30 +-
ui/src/views/compute/DeployVM.vue | 32 +-
ui/src/views/image/RegisterOrUploadTemplate.vue | 9 +
ui/src/views/image/UpdateTemplate.vue | 14 +
ui/src/views/infra/Resources.vue | 93 +-
ui/src/views/network/CreateIsolatedNetworkForm.vue | 6 +-
ui/src/views/storage/CreateVolume.vue | 11 +-
139 files changed, 6655 insertions(+), 1352 deletions(-)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/TaggedResourceLimitAndCountResponse.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/admin/domain/ListDomainsCmdTest.java
copy
api/src/test/java/org/apache/cloudstack/api/command/{user/snapshot/DeleteSnapshotCmdTest.java
=> admin/resource/ListCapacityCmdTest.java} (69%)
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/account/ListAccountsCmdTest.java
copy
api/src/test/java/org/apache/cloudstack/api/command/user/{iso/RegisterIsoCmdTest.java
=> offering/ListDiskOfferingsCmdTest.java} (68%)
copy
api/src/test/java/org/apache/cloudstack/api/command/user/{project/CreateProjectCmdTest.java
=> offering/ListServiceOfferingsCmdTest.java} (69%)
copy
api/src/test/java/org/apache/cloudstack/api/command/user/{iso/RegisterIsoCmdTest.java
=> resource/ListResourceLimitsCmdTest.java} (70%)
copy
api/src/test/java/org/apache/cloudstack/api/command/user/{iso/RegisterIsoCmdTest.java
=> resource/UpdateResourceCountCmdTest.java} (70%)
copy
api/src/test/java/org/apache/cloudstack/api/command/user/{iso/RegisterIsoCmdTest.java
=> resource/UpdateResourceLimitCmdTest.java} (70%)
copy
api/src/test/java/org/apache/cloudstack/api/command/{admin/offering/CreateServiceOfferingCmdTest.java
=> user/template/UpdateTemplateCmdTest.java} (53%)
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.account_view.sql
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.domain_view.sql
create mode 100644
plugins/host-allocators/random/src/test/java/com/cloud/agent/manager/allocator/impl/RandomAllocatorTest.java
create mode 100644 test/integration/component/test_resource_limit_tags.py