This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a change to branch nsx-integration
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from ff85d3df3b3 Nsx add lb rule (#8161)
add b09acb8fd05 UI: Fix deploy VM wizard vApp properties (#8072)
add ae724b9d4c2 Fix EULA section while parsing OVF file (#8081)
add 39d6c20fb39 Merge remote-tracking branch 'apache/4.18' into main
add 8fe13f91a10 OSType response: isuserdefined as string not bool #8127
(#8128)
add ebf14096221 dashboard: on admin dashboard use red-dot icon when hosts
are in alert (#8144)
add 27ae7d8bc48 Fixup: register vmscheduler configkey (#8116)
add fb76fd10f0e Add winterhazel to .asf.yaml collaborators (#8147)
add 68e1d46698e reduce collaborators count to 10 (#8149)
add ea90848429d Feature: Add support for DRS in a Cluster (#7723)
add 4ff592ac2c1 Use UserVmDao for listVirtualMachines API to increase
performance (#8012)
add 6ae3b73ca2d Create snapshot from VM snapshot without memory for
NFS/Local storage (#8117)
add 587d1d7dba1 Merge remote-tracking branch 'apache/4.18' into main
add a06f8a8763d Fixup updateSnapshotInfo failure due to forward merging
(#8150)
add bd52fa8a12a New feature: VNF templates and appliances integration
(#8022)
add 67eddd7c0e1 Fix allignment on layout on right panel (#8060)
add c6d6463e201 Merge branch 'main' of
https://github.com/apache/cloudstack into nsx-integration
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 2 +-
.github/workflows/ci.yml | 3 +-
api/pom.xml | 5 +
.../com/cloud/agent/api/storage/OVFHelper.java | 6 +-
api/src/main/java/com/cloud/event/EventTypes.java | 5 +
api/src/main/java/com/cloud/network/VNF.java | 112 +++
.../java/com/cloud/server/ManagementService.java | 2 +
.../main/java/com/cloud/server/ResourceTag.java | 1 +
api/src/main/java/com/cloud/storage/Snapshot.java | 2 +-
api/src/main/java/com/cloud/storage/Storage.java | 1 +
api/src/main/java/com/cloud/vm/VirtualMachine.java | 3 +
.../main/java/com/cloud/vm/VmDetailConstants.java | 2 +
.../affinity/AffinityGroupProcessor.java | 8 +
.../cloudstack/affinity/AffinityProcessorBase.java | 9 +
.../org/apache/cloudstack/api/ApiConstants.java | 15 +-
.../java/org/apache/cloudstack/api/BaseCmd.java | 3 +
.../admin/cluster/ExecuteClusterDrsPlanCmd.java | 147 ++++
.../admin/cluster/GenerateClusterDrsPlanCmd.java | 85 ++
.../admin/cluster/ListClusterDrsPlanCmd.java | 62 ++
...yAdmin.java => ListVnfTemplatesCmdByAdmin.java} | 13 +-
.../admin/template/RegisterTemplateCmdByAdmin.java | 4 +-
...min.java => RegisterVnfTemplateCmdByAdmin.java} | 12 +-
.../admin/template/UpdateTemplateCmdByAdmin.java | 3 +-
...Admin.java => UpdateVnfTemplateCmdByAdmin.java} | 12 +-
.../DeployVnfApplianceCmdByAdmin.java} | 21 +-
.../user/template/DeleteVnfTemplateCmd.java | 47 ++
.../command/user/template/ListTemplatesCmd.java | 17 +
.../template/ListVnfTemplatesCmd.java} | 17 +-
.../command/user/template/RegisterTemplateCmd.java | 12 +-
.../user/template/RegisterVnfTemplateCmd.java | 79 ++
.../command/user/template/UpdateTemplateCmd.java | 6 +-
.../user/template/UpdateVnfTemplateCmd.java | 87 ++
.../api/command/user/vm/DeployVnfApplianceCmd.java | 74 ++
.../cloudstack/api/command/user/vm/ListVMsCmd.java | 8 +
.../api/response/ChildTemplateResponse.java | 2 +-
.../response/ClusterDrsPlanMigrationResponse.java | 75 ++
.../api/response/ClusterDrsPlanResponse.java | 83 ++
.../cloudstack/api/response/GuestOSResponse.java | 6 +-
.../cloudstack/api/response/NicResponse.java | 16 +
.../cloudstack/api/response/TemplateResponse.java | 2 +-
.../cloudstack/api/response/UserVmResponse.java | 60 ++
.../cloudstack/api/response/VnfNicResponse.java | 119 +++
.../api/response/VnfTemplateResponse.java | 60 ++
.../cloudstack/cluster/ClusterDrsAlgorithm.java | 167 ++++
.../apache/cloudstack/cluster/ClusterDrsPlan.java | 48 ++
.../cluster/ClusterDrsPlanMigration.java | 25 +
.../cloudstack/cluster/ClusterDrsService.java | 108 +++
.../storage/template/VnfTemplateManager.java | 52 ++
.../storage/template/VnfTemplateUtils.java | 152 ++++
.../com/cloud/agent/api/storage/OVFHelperTest.java | 131 +++
api/src/test/java/com/cloud/network/VNFTest.java | 58 ++
.../api/response/VnfNicResponseTest.java | 54 ++
.../api/response/VnfTemplateResponseTest.java | 40 +-
.../storage/template/VnfTemplateUtilsTest.java | 261 ++++++
client/pom.xml | 10 +
.../META-INF/cloudstack/cluster/module.properties | 21 +
...-core-lifecycle-cluster-context-inheritable.xml | 31 +
.../core/spring-core-registry-core-context.xml | 4 +
.../java/com/cloud/template/TemplateManager.java | 4 +
.../com/cloud/storage/VnfTemplateDetailVO.java | 101 +++
.../java/com/cloud/storage/VnfTemplateNicVO.java | 101 +++
.../cloud/storage/dao/VnfTemplateDetailsDao.java | 16 +-
.../storage/dao/VnfTemplateDetailsDaoImpl.java | 21 +-
.../com/cloud/storage/dao/VnfTemplateNicDao.java | 19 +-
.../cloud/storage/dao/VnfTemplateNicDaoImpl.java | 53 ++
.../schema/src/main/java/com/cloud/vm/NicVO.java | 2 +
.../cluster/ClusterDrsPlanMigrationVO.java | 105 +++
.../cloudstack/cluster/ClusterDrsPlanVO.java | 103 +++
.../cloudstack/cluster/dao/ClusterDrsPlanDao.java | 41 +
.../cluster/dao/ClusterDrsPlanDaoImpl.java | 107 +++
.../cluster/dao/ClusterDrsPlanMigrationDao.java | 33 +
.../dao/ClusterDrsPlanMigrationDaoImpl.java | 70 ++
.../spring-engine-schema-core-daos-context.xml | 4 +
.../resources/META-INF/db/schema-41810to41900.sql | 261 ++++++
.../com/cloud/storage/VnfTemplateDetailVOTest.java | 28 +-
.../com/cloud/storage/VnfTemplateNicVOTest.java | 46 ++
.../storage/dao/VnfTemplateNicDaoImplTest.java | 88 +++
.../storage/motion/AncientDataMotionStrategy.java | 18 +-
.../java/com/cloud/utils/db/GenericDaoBase.java | 37 +-
.../com/cloud/utils/db/GenericDaoBaseTest.java | 52 ++
.../affinity/ExplicitDedicationProcessor.java | 2 +-
.../cloudstack/affinity/HostAffinityProcessor.java | 45 +-
.../affinity/HostAffinityProcessorTest.java | 5 +-
.../affinity/HostAntiAffinityProcessor.java | 2 +-
.../affinity/NonStrictHostAffinityProcessor.java | 2 +-
plugins/drs/cluster/balanced/pom.xml | 33 +
.../org/apache/cloudstack/cluster/Balanced.java | 99 +++
.../META-INF/cloudstack/balanced/module.properties | 18 +
.../balanced/spring-balanced-context.xml | 33 +
.../apache/cloudstack/cluster/BalancedTest.java | 227 ++++++
plugins/drs/cluster/condensed/pom.xml | 33 +
.../org/apache/cloudstack/cluster/Condensed.java | 98 +++
.../cloudstack/condensed/module.properties | 18 +
.../condensed/spring-condensed-context.xml | 33 +
.../apache/cloudstack/cluster/CondensedTest.java | 221 ++++++
.../kvm/storage/KVMStorageProcessor.java | 40 +-
plugins/pom.xml | 3 +
server/src/main/java/com/cloud/api/ApiDBUtils.java | 8 +
.../main/java/com/cloud/api/ApiResponseHelper.java | 2 +-
.../java/com/cloud/api/query/QueryManagerImpl.java | 762 +++++++++++-------
.../cloud/api/query/dao/TemplateJoinDaoImpl.java | 34 +-
.../com/cloud/api/query/dao/UserVmJoinDao.java | 3 +
.../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 55 ++
.../java/com/cloud/api/query/vo/UserVmJoinVO.java | 8 +
.../configuration/ConfigurationManagerImpl.java | 2 +
.../com/cloud/server/ManagementServerImpl.java | 40 +-
.../storage/snapshot/SnapshotManagerImpl.java | 40 +-
.../com/cloud/template/TemplateAdapterBase.java | 5 +-
.../com/cloud/template/TemplateManagerImpl.java | 81 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 31 +-
.../cloudstack/cluster/ClusterDrsServiceImpl.java | 849 ++++++++++++++++++++
.../storage/template/VnfTemplateManagerImpl.java | 372 +++++++++
.../cloudstack/vm/schedule/VMSchedulerImpl.java | 14 +-
.../core/spring-server-core-managers-context.xml | 5 +
.../com/cloud/api/query/QueryManagerImplTest.java | 28 +
.../api/query/dao/TemplateJoinDaoImplTest.java | 44 +-
.../cloud/api/query/dao/UserVmJoinDaoImplTest.java | 102 +++
.../storage/snapshot/SnapshotManagerImplTest.java | 4 +-
.../cloud/template/TemplateManagerImplTest.java | 115 +++
.../java/com/cloud/vm/UserVmManagerImplTest.java | 71 ++
.../cluster/ClusterDrsServiceImplTest.java | 440 +++++++++++
.../template/VnfTemplateManagerImplTest.java | 389 +++++++++
test/integration/smoke/test_cluster_drs.py | 267 +++++++
test/integration/smoke/test_vnf_templates.py | 341 ++++++++
tools/apidoc/gen_toc.py | 1 +
tools/marvin/marvin/lib/base.py | 341 ++++++++
ui/public/locales/en.json | 62 ++
ui/src/components/view/DedicateData.vue | 2 +-
ui/src/components/view/DetailsTab.vue | 95 ++-
ui/src/components/view/ListView.vue | 14 +-
ui/src/components/view/SearchView.vue | 6 -
ui/src/components/widgets/Console.vue | 2 +-
ui/src/config/section/compute.js | 3 +-
ui/src/config/section/image.js | 9 +-
ui/src/config/section/infra/clusters.js | 19 +
ui/src/config/section/network.js | 406 ++++++++++
ui/src/views/AutogenView.vue | 51 +-
ui/src/views/compute/DeployVM.vue | 132 ++--
.../{DeployVM.vue => DeployVnfAppliance.vue} | 614 ++++++++------
.../views/compute/wizard/NetworkConfiguration.vue | 7 +
ui/src/views/compute/wizard/NetworkSelection.vue | 6 +-
ui/src/views/compute/wizard/VnfNicsSelection.vue | 166 ++++
ui/src/views/dashboard/CapacityDashboard.vue | 3 +-
ui/src/views/image/RegisterOrUploadTemplate.vue | 53 +-
ui/src/views/image/TemplateVnfSettings.vue | 880 +++++++++++++++++++++
ui/src/views/image/UpdateTemplate.vue | 2 +-
ui/src/views/infra/ClusterDRSTab.vue | 297 +++++++
ui/src/views/network/VnfAppliancesTab.vue | 159 ++++
ui/src/views/network/VpcTab.vue | 5 +
149 files changed, 11311 insertions(+), 828 deletions(-)
create mode 100644 api/src/main/java/com/cloud/network/VNF.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/ExecuteClusterDrsPlanCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/GenerateClusterDrsPlanCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/ListClusterDrsPlanCmd.java
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/template/{UpdateTemplateCmdByAdmin.java
=> ListVnfTemplatesCmdByAdmin.java} (69%)
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/template/{UpdateTemplateCmdByAdmin.java
=> RegisterVnfTemplateCmdByAdmin.java} (72%)
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/template/{UpdateTemplateCmdByAdmin.java
=> UpdateVnfTemplateCmdByAdmin.java} (73%)
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/{template/UpdateTemplateCmdByAdmin.java
=> vm/DeployVnfApplianceCmdByAdmin.java} (57%)
create mode 100755
api/src/main/java/org/apache/cloudstack/api/command/user/template/DeleteVnfTemplateCmd.java
copy
api/src/main/java/org/apache/cloudstack/api/command/{admin/template/RegisterTemplateCmdByAdmin.java
=> user/template/ListVnfTemplatesCmd.java} (60%)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterVnfTemplateCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/template/UpdateVnfTemplateCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVnfApplianceCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/ClusterDrsPlanMigrationResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/ClusterDrsPlanResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VnfNicResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VnfTemplateResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsAlgorithm.java
create mode 100644
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsPlan.java
create mode 100644
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsPlanMigration.java
create mode 100644
api/src/main/java/org/apache/cloudstack/cluster/ClusterDrsService.java
create mode 100644
api/src/main/java/org/apache/cloudstack/storage/template/VnfTemplateManager.java
create mode 100644
api/src/main/java/org/apache/cloudstack/storage/template/VnfTemplateUtils.java
create mode 100644 api/src/test/java/com/cloud/network/VNFTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/response/VnfNicResponseTest.java
copy server/src/test/java/com/cloud/api/query/dao/UserVmJoinDaoImplTest.java
=>
api/src/test/java/org/apache/cloudstack/api/response/VnfTemplateResponseTest.java
(55%)
mode change 100755 => 100644
create mode 100644
api/src/test/java/org/apache/cloudstack/storage/template/VnfTemplateUtilsTest.java
create mode 100644
core/src/main/resources/META-INF/cloudstack/cluster/module.properties
create mode 100644
core/src/main/resources/META-INF/cloudstack/cluster/spring-core-lifecycle-cluster-context-inheritable.xml
create mode 100644
engine/schema/src/main/java/com/cloud/storage/VnfTemplateDetailVO.java
create mode 100644
engine/schema/src/main/java/com/cloud/storage/VnfTemplateNicVO.java
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/template/RegisterTemplateCmdByAdmin.java
=>
engine/schema/src/main/java/com/cloud/storage/dao/VnfTemplateDetailsDao.java
(55%)
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/template/RegisterTemplateCmdByAdmin.java
=>
engine/schema/src/main/java/com/cloud/storage/dao/VnfTemplateDetailsDaoImpl.java
(55%)
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/template/RegisterTemplateCmdByAdmin.java
=> engine/schema/src/main/java/com/cloud/storage/dao/VnfTemplateNicDao.java
(55%)
create mode 100644
engine/schema/src/main/java/com/cloud/storage/dao/VnfTemplateNicDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/cluster/ClusterDrsPlanMigrationVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/cluster/ClusterDrsPlanVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/cluster/dao/ClusterDrsPlanDao.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/cluster/dao/ClusterDrsPlanDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/cluster/dao/ClusterDrsPlanMigrationDao.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/cluster/dao/ClusterDrsPlanMigrationDaoImpl.java
copy
api/src/main/java/org/apache/cloudstack/api/command/admin/template/RegisterTemplateCmdByAdmin.java
=> engine/schema/src/test/java/com/cloud/storage/VnfTemplateDetailVOTest.java
(54%)
mode change 100644 => 100755
create mode 100755
engine/schema/src/test/java/com/cloud/storage/VnfTemplateNicVOTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/storage/dao/VnfTemplateNicDaoImplTest.java
create mode 100644 plugins/drs/cluster/balanced/pom.xml
create mode 100644
plugins/drs/cluster/balanced/src/main/java/org/apache/cloudstack/cluster/Balanced.java
create mode 100644
plugins/drs/cluster/balanced/src/main/resources/META-INF/cloudstack/balanced/module.properties
create mode 100644
plugins/drs/cluster/balanced/src/main/resources/META-INF/cloudstack/balanced/spring-balanced-context.xml
create mode 100644
plugins/drs/cluster/balanced/src/test/java/org/apache/cloudstack/cluster/BalancedTest.java
create mode 100644 plugins/drs/cluster/condensed/pom.xml
create mode 100644
plugins/drs/cluster/condensed/src/main/java/org/apache/cloudstack/cluster/Condensed.java
create mode 100644
plugins/drs/cluster/condensed/src/main/resources/META-INF/cloudstack/condensed/module.properties
create mode 100644
plugins/drs/cluster/condensed/src/main/resources/META-INF/cloudstack/condensed/spring-condensed-context.xml
create mode 100644
plugins/drs/cluster/condensed/src/test/java/org/apache/cloudstack/cluster/CondensedTest.java
create mode 100644
server/src/main/java/org/apache/cloudstack/cluster/ClusterDrsServiceImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/storage/template/VnfTemplateManagerImpl.java
create mode 100644
server/src/test/java/org/apache/cloudstack/cluster/ClusterDrsServiceImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/storage/template/VnfTemplateManagerImplTest.java
create mode 100644 test/integration/smoke/test_cluster_drs.py
create mode 100644 test/integration/smoke/test_vnf_templates.py
copy ui/src/views/compute/{DeployVM.vue => DeployVnfAppliance.vue} (84%)
create mode 100644 ui/src/views/compute/wizard/VnfNicsSelection.vue
create mode 100644 ui/src/views/image/TemplateVnfSettings.vue
create mode 100644 ui/src/views/infra/ClusterDRSTab.vue
create mode 100644 ui/src/views/network/VnfAppliancesTab.vue