This is an automated email from the ASF dual-hosted git repository.
DaanHoogland pushed a change to branch ghi13975-add-account-ux
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from de451c1f280 Merge branch 'main' into ghi13975-add-account-ux
add 510d0ec3785 Revert "VMware to KVM: cold (VDDK) and warm (CBT)
migration into Ceph/RBD and Linstor, plus importVm adoption of existing RBD
root volumes and Linstor root/data volumes (#13656)"
add 1a48a87587c Add the ASF Allowlist check workflow (#14113)
add 7ed0cec53dc Add pre-commit hook to validate dependabot.yml (#14107)
add e6cd1239257 virtual router: Add route-maps to BGP peers for Routed
Mode (#9964)
add ed1db53815c .github: Upgrade docker/login-action to fix ASF Allowlist
failure (#14276)
add 17294cac7a6 dont show unathorized notification for prelogin (#14054)
add f03cffc19e6 feature: instance boot group and readiness rules (#13907)
add 68cff975ceb Upgrade Netris SDK version to 1.1.0 since 24.0 (#14365)
add a945a7c203e Develocity integration (#14394)
add d3f0700e978 Restore VMware-to-KVM migration changes from #13656
(#14256)
add 273b2ea32bf Fix importVM for use with dummy template (#14195)
add ac8d69c5c1d importVM improvements: RBD support, volume format, and
cluster selection (#14162)
add f23766d7c33 core: introduce a set of type adapters (#13624)
add 51c52490c95 Add schema upgrade path for 4.22.2 (#14179)
add 31b6855b708 linstor: escape dashes in the LVM volume group name of
snapshot paths (#14066)
add 250695ec331 Escape snapshot names in libvirt XML (#14201)
add 730d11fc57f [4.22] Fix CI Pre-commit failure (#14268)
add a772e8d13ba CKS/CSI: fix PVC deletion script to avoid '(standard
input)' and use kubectl -o name/jsonpath (#11968)
add 2e63c601fc2 Clarify KVM import template requirement (#13126)
add a4d3c664823 KVM: assign the hot-plugged NIC the next PCI slot above
existing NICs (monotonic interface naming) (#12826)
add 8261beca2fb ui: fix info card showing invalid template, iso link
(#13199)
add 8eeccdbb8a2 UI: don’t continue with session with an expired userid
(#13969)
add 5deb6a958df Improve date/timestamp handling performance in
GenericDaoBase and DateUtil (#13809)
add 4b2d387287a server: null-check requested IP in
assignSourceNatPublicIpAddress (#14025)
add cdd03d78748 Merge branch '4.20' into 4.22
add d4f5dff7311 Fix overly broad classpath scanning in
ReflectUtil.getClassesWithAnnotation() (#13427)
add 4e679ad8778 Ensure the detail value is not null when updating the vnc
access details of the vms with failed migrations on host maintenance (#13492)
add cc2f74f5c5d Ensure compliance with storage access groups when mounting
disabled storage pools (#13990)
add 2974af84f22 Make worker and API thread pool size configurable (#13565)
add 437adc81dec ui: add the missing label for the backup resource limit
(#14163)
add 1805dde42af kvm: look RBD volumes up through librbd instead of
refreshing the pool (#14188)
add 0931cf818e6 usage: widen usage_volume unique key to include vm_id
(#13933)
add 08831859497 Nasbackup quiesce fixes (#14305)
add dfff32edecf Netris: Improvements and fixes to the Netris plugin
(#13591)
add 546569bf24d Improve performance of listTemplates API (#13566)
add c7667d8c1fb VR: fix passive ftp through the virtual router on newer
system vm templates (#14330)
add 1e69e3a709c Allow removing VMs from instance groups (#14395)
add 768298a2111 Batch VM and host lookups in StorageManagerImpl to
eliminate N+1 queries during cleanup and pool connect (#13353)
add 99f348e0f94 Batch network lookups per NIC in NetworkOrchestrator to
eliminate N+1 queries during migration (#13354)
add b8a44e94951 lock only domains that have finite limits for checked
reservation (#14169)
add 5dfe75f77f3 Exclude Apache CXF dependency from kvm plugin (#13799)
add 376c1b40174 server: scope IPv6 security group member rules to the
exact host (#14037)
add dfaae63a461 Merge branch '4.20' into 4.22
add 60f88945d5e Merge branch '4.22'
add 2736abbeceb Fix build after merging 4.22
add af9764b87a6 Fix tests
add 98ae513689d validates the inputs for capacity bytes in update storage
pool to be positive (#14219)
add c76c01e21a1 network: add default isolated offering with source NAT and
egress allowed by default (#14286)
add 1abb5392428 fix: skip coverage grade comment on fork PRs (#14299)
add 89a2b025f25 ui: improve related global config popup (#14149)
add 1b4f19e5691 test: fix smoke test failures on xen/vmware (#13628)
add 3df8b2a4159 Revert "security groups: conntrack only if needed
(#10594)" (#14443)
add bd809515e6c Add support for java 21 for debian packages (#14418)
add a7697fe692a linstor: incremental snapshots on secondary storage
(#13746)
add 57e02515bab Add VM detail for KVM hint dedicated feature (#14254)
add d92ebed547f Fix VR start on shared network with multiple guest IP
ranges (#14282)
add 345db511a26 Fix bucket usage retrieval workflow for Ceph RGW (#13776)
add 90ef9b98cad kvm: restore backups into the volume they were taken from
(#13922)
add 15a9c76a0d2 Backup usage: bill each size for the time it applied, and
publish the metric only on change (#14310)
add def264402b4 StorPool support importing standalone disk volumes and
importVm from SHARED (#14389)
add de4ca48dfb3 Routed network ACL: match protocol-number rules with ip
protocol, not ip nexthdr (#14352)
add 8074c3e45e7 VPC egress ACL: end ACL_OUTBOUND with RETURN so its rules
stay in order (#14355)
add c4748669bfc UI: submit object storage creation using POST (#13768)
add 0d380a015a5 Linstor add support for incremental nasbackup (#14194)
add d31b5ff94e9 network: scope routed network/VPC subnets to a zone
(#14421)
add 2204e1b4a65 Reject AppCookie LB stickiness policy on Virtual Router
networks (#13315)
add e742aadfc97 Reject creating a snapshot with a duplicate name for the
same volume (#14089)
add 30ed411cffa Merge branch '4.20' into 4.22
add 9872bfd61fc kvm: use the base CPU frequency as the host speed and
expose the maximum frequency as a host detail (#14383)
add fd6b755cc1b Merge remote-tracking branch 'apache/4.22'
add b92ab08e690 Fix listPublicIpAddresses NPE on shared networks with a VR
(#14249)
add dccfe7d1f40 linstor: fix live migration with storage into Linstor when
the target host has no replica (#14344)
add c4c9731f0c8 Fix Cross zone templates registration for Edge Zones
(#12874)
add 5ffae3b047c Merge branch '4.22'
add 82e5ede3f9a linstor unit test fix
add e9af62c4ad5 flasharray/kvm/adaptive: NVMe-TCP transport for FlashArray
primary storage (#13061)
add c8abe2904b0 show a session expired warning when the session runs out
(#14369)
add b535ae8e6a9 Remove weekly status report and update model for daily
issue triage (#14488)
add 4dae995455e Improve Inherited Context Lookup in getConfigResources
(#11048)
add ac65e3ddab0 server,kvm: Avoid device id conflicts between data
volumes, CD-ROMs and the config drive ISO (#14407)
add b9b5436d6f2 Enhancing storagepool operations and snapshot related
fixes in NetApp ONTAP storage plugin (#13897)
add 454bba0f3e5 server: report distinct read/write volume throttle rates
(#14048)
add 56306ab52cc Merge remote-tracking branch 'apache/4.20' into 4.22
add fe8976babc9 Merge remote-tracking branch 'apache/4.22'
add 92e44bb8c33 Fix daily issue triage job (#14526)
add d6390bd5c30 Validate Storage Capacity Before Volume Create (#14314)
add 612a6d6bba1 scope Add User to account rows, fix stale resource,
restore i18n key
No new revisions were added by this update.
Summary of changes:
.gitattributes | 2 +-
.github/aw/actions-lock.json | 45 +-
.github/scripts/post-compile.sh | 14 +-
.../workflows/asf-allowlist-check.yml | 45 +-
.github/workflows/build.yml | 2 +
.github/workflows/ci.yml | 8 +
.github/workflows/daily-issue-triage.lock.yml | 1664 ++++++++++++++------
.github/workflows/daily-issue-triage.md | 36 +-
.github/workflows/docker-cloudstack-simulator.yml | 2 +-
.github/workflows/main-sonar-check.yml | 3 +
.github/workflows/rat.yml | 2 +
.github/workflows/sonar-check.yml | 6 +-
.github/workflows/weekly-repo-status.lock.yml | 1471 -----------------
.github/workflows/weekly-repo-status.md | 141 --
.gitignore | 3 +
.mvn/develocity.xml | 50 +
.mvn/extensions.xml | 34 +
.pre-commit-config.yaml | 7 +
PendingReleaseNotes | 10 +
api/src/main/java/com/cloud/event/EventTypes.java | 30 +
api/src/main/java/com/cloud/host/Host.java | 1 +
.../com/cloud/network/netris/NetrisService.java | 30 +-
.../java/com/cloud/offering/NetworkOffering.java | 1 +
api/src/main/java/com/cloud/storage/Storage.java | 3 +-
.../java/com/cloud/storage/VolumeApiService.java | 18 +
.../main/java/com/cloud/vm/VmDetailConstants.java | 3 +
.../cloudstack/api/ApiCommandResourceType.java | 5 +-
.../org/apache/cloudstack/api/ApiConstants.java | 19 +
.../admin/network/NetworkOfferingBaseCmd.java | 8 +
.../admin/storage/AddObjectStoragePoolCmd.java | 2 +-
.../admin/storage/CreateStoragePoolCmd.java | 6 +-
.../admin/storage/UpdateStoragePoolCmd.java | 12 +-
.../admin/vm/ImportUnmanagedInstanceCmd.java | 2 +-
.../api/command/admin/vm/ImportVmCmd.java | 2 +-
.../api/command/admin/volume/ImportVolumeCmd.java | 2 +-
.../command/admin/vpc/CreateVPCOfferingCmd.java | 28 +-
.../bootgroup/AddMemberToInstanceBootGroupCmd.java | 107 ++
.../user/bootgroup/CreateInstanceBootGroupCmd.java | 142 ++
.../CreateInstanceBootGroupReadinessRuleCmd.java | 132 ++
.../user/bootgroup/DeleteInstanceBootGroupCmd.java | 81 +
.../DeleteInstanceBootGroupReadinessRuleCmd.java | 82 +
.../bootgroup/ListInstanceBootGroupMembersCmd.java | 96 ++
.../ListInstanceBootGroupReadinessRulesCmd.java | 91 ++
.../user/bootgroup/ListInstanceBootGroupsCmd.java | 83 +
.../user/bootgroup/RebootInstanceBootGroupCmd.java | 107 ++
.../RemoveInstanceBootGroupMemberCmd.java | 81 +
.../user/bootgroup/StartInstanceBootGroupCmd.java | 99 ++
.../user/bootgroup/StopInstanceBootGroupCmd.java | 101 ++
.../user/bootgroup/UpdateInstanceBootGroupCmd.java | 127 ++
.../UpdateInstanceBootGroupMemberCmd.java | 88 ++
.../UpdateInstanceBootGroupReadinessRuleCmd.java | 110 ++
.../api/command/user/vm/UpdateVMCmd.java | 2 +-
.../api/command/utils/OfferingUtils.java | 8 +-
.../InstanceBootGroupMemberChildResponse.java | 57 +
.../response/InstanceBootGroupMemberResponse.java | 131 ++
.../InstanceBootGroupReadinessRuleResponse.java | 148 ++
.../api/response/InstanceBootGroupResponse.java | 160 ++
.../api/response/VpcOfferingResponse.java | 8 +
.../network/Ipv4GuestSubnetNetworkMap.java | 2 +
.../org/apache/cloudstack/query/QueryService.java | 6 +
.../volume/VolumeImportUnmanageService.java | 11 +-
.../cloudstack/vm/bootgroup/InstanceBootGroup.java | 23 +-
.../bootgroup/InstanceBootGroupMember.java} | 33 +-
.../vm/bootgroup/InstanceBootGroupService.java | 81 +
.../readiness/InstanceBootGroupReadinessRule.java | 81 +
.../vm/bootgroup/readiness/ReadinessChecker.java | 93 ++
.../admin/storage/AddObjectStoragePoolCmdTest.java | 37 +
.../AddMemberToInstanceBootGroupCmdTest.java | 95 ++
.../user/bootgroup/BaseBootGroupCmdTest.java | 88 ++
.../bootgroup/CreateInstanceBootGroupCmdTest.java | 107 ++
...reateInstanceBootGroupReadinessRuleCmdTest.java | 158 ++
.../bootgroup/DeleteInstanceBootGroupCmdTest.java | 83 +
...eleteInstanceBootGroupReadinessRuleCmdTest.java | 83 +
.../ListInstanceBootGroupMembersCmdTest.java | 143 ++
...ListInstanceBootGroupReadinessRulesCmdTest.java | 65 +
.../bootgroup/ListInstanceBootGroupsCmdTest.java | 62 +
.../bootgroup/RebootInstanceBootGroupCmdTest.java | 118 ++
.../RemoveInstanceBootGroupMemberCmdTest.java | 85 +
.../bootgroup/StartInstanceBootGroupCmdTest.java | 118 ++
.../bootgroup/StopInstanceBootGroupCmdTest.java | 110 ++
.../bootgroup/UpdateInstanceBootGroupCmdTest.java | 104 ++
.../UpdateInstanceBootGroupMemberCmdTest.java | 95 ++
...pdateInstanceBootGroupReadinessRuleCmdTest.java | 139 ++
client/bindir/cloud-update-xenserver-licenses.in | 7 +-
.../agent/api/CheckGuestAgentLivenessAnswer.java | 23 +-
.../agent/api/CheckGuestAgentLivenessCommand.java | 30 +-
.../agent/resource/virtualnetwork/VRScripts.java | 1 +
.../virtualnetwork/VirtualRoutingResource.java | 13 +
.../agent/transport/compat/AbstractTOAdaptor.java | 86 +
.../agent/transport/compat/DiskTOAdaptor.java | 16 +-
.../transport/compat/MigrateCommandAdaptor.java | 16 +-
.../agent/transport/compat/NetworkTOAdaptor.java | 16 +-
.../transport/compat/VirtualMachineTOAdaptor.java | 17 +-
.../main/java/com/cloud/serializer/GsonHelper.java | 44 +
.../cloudstack/backup/TakeBackupCommand.java | 18 +
.../readiness/InstanceReadinessCheckAnswer.java | 57 +
.../readiness/InstanceReadinessCheckCommand.java | 73 +
.../core/spring-core-registry-core-context.xml | 15 +
.../InstanceReadinessCheckExecutionTest.java | 122 ++
.../com/cloud/agent/transport/RequestTest.java | 138 +-
.../InstanceReadinessCheckAnswerTest.java | 113 ++
debian/changelog | 6 -
debian/control | 10 +-
.../service/VolumeOrchestrationService.java | 6 +-
.../api/storage/PrimaryDataStoreDriver.java | 28 +
.../subsystem/api/storage/TemplateService.java | 2 +-
.../java/com/cloud/storage/StorageManager.java | 4 +
.../java/com/cloud/template/TemplateManager.java | 20 +
.../engine/orchestration/NetworkOrchestrator.java | 82 +-
.../engine/orchestration/VolumeOrchestrator.java | 14 +-
.../orchestration/VolumeOrchestratorTest.java | 2 +-
.../cloud/configuration/dao/ResourceLimitDao.java | 11 +
.../configuration/dao/ResourceLimitDaoImpl.java | 31 +
.../java/com/cloud/network/dao/NetworkDao.java | 2 +
.../java/com/cloud/network/dao/NetworkDaoImpl.java | 13 +
.../com/cloud/offerings/NetworkOfferingVO.java | 20 +-
.../java/com/cloud/storage/dao/SnapshotDao.java | 2 +
.../com/cloud/storage/dao/SnapshotDaoImpl.java | 16 +
.../java/com/cloud/storage/dao/VMTemplateDao.java | 2 +
.../com/cloud/storage/dao/VMTemplateDaoImpl.java | 8 +
.../com/cloud/upgrade/DatabaseUpgradeChecker.java | 5 +-
.../java/com/cloud/usage/dao/UsageBackupDao.java | 3 +-
.../com/cloud/usage/dao/UsageBackupDaoImpl.java | 52 +-
.../com/cloud/vm/dao/InstanceBootGroupDao.java | 20 +-
.../com/cloud/vm/dao/InstanceBootGroupDaoImpl.java | 60 +
.../cloud/vm/dao/InstanceBootGroupDetailsDao.java | 18 +-
.../vm/dao/InstanceBootGroupDetailsDaoImpl.java | 71 +
.../cloud/vm/dao/InstanceBootGroupMemberDao.java | 44 +
.../vm/dao/InstanceBootGroupMemberDaoImpl.java | 123 ++
.../InstanceBootGroupReadinessCheckResultDao.java | 41 +
...stanceBootGroupReadinessCheckResultDaoImpl.java | 74 +
.../vm/dao/InstanceBootGroupReadinessRuleDao.java | 44 +
.../dao/InstanceBootGroupReadinessRuleDaoImpl.java | 119 ++
.../InstanceBootGroupReadinessRuleDetailsDao.java} | 20 +-
...stanceBootGroupReadinessRuleDetailsDaoImpl.java | 69 +
.../src/main/java/com/cloud/vm/dao/NicDao.java | 2 +-
.../src/main/java/com/cloud/vm/dao/NicDaoImpl.java | 3 +-
.../main/java/com/cloud/vm/dao/VMInstanceDao.java | 2 +
.../java/com/cloud/vm/dao/VMInstanceDaoImpl.java | 16 +
.../cloudstack/backup/BackupUsageMetricVO.java | 107 ++
.../org/apache/cloudstack/backup/BackupVO.java | 2 +-
.../backup/dao/BackupUsageMetricDao.java | 17 +-
.../backup/dao/BackupUsageMetricDaoImpl.java | 54 +
.../network/Ipv4GuestSubnetNetworkMapVO.java | 15 +-
.../network/dao/Ipv4GuestSubnetNetworkMapDao.java | 4 +-
.../dao/Ipv4GuestSubnetNetworkMapDaoImpl.java | 8 +-
.../storage/datastore/db/PrimaryDataStoreDao.java | 30 +-
.../datastore/db/PrimaryDataStoreDaoImpl.java | 59 +-
.../storage/datastore/db/SnapshotDataStoreDao.java | 7 +
.../datastore/db/SnapshotDataStoreDaoImpl.java | 46 +-
.../vm/bootgroup/InstanceBootGroupDetailsVO.java | 93 ++
.../vm/bootgroup/InstanceBootGroupMemberVO.java | 116 ++
.../InstanceBootGroupReadinessCheckResultVO.java | 113 ++
.../InstanceBootGroupReadinessRuleDetailsVO.java | 99 ++
.../InstanceBootGroupReadinessRuleVO.java | 149 ++
.../bootgroup/InstanceBootGroupVO.java} | 98 +-
.../spring-engine-schema-core-daos-context.xml | 8 +
.../META-INF/db/schema-42210to42300-cleanup.sql | 54 +
.../resources/META-INF/db/schema-42300to2400.sql | 94 ++
.../db/views/cloud.instance_boot_group_view.sql | 47 +
.../com/cloud/network/dao/NetworkDaoImplTest.java | 24 +
.../com/cloud/storage/dao/SnapshotDaoImplTest.java | 80 +
.../cloud/usage/dao/UsageBackupDaoImplTest.java | 175 ++
.../cloud/vm/dao/InstanceBootGroupDaoImplTest.java | 99 ++
.../dao/InstanceBootGroupDetailsDaoImplTest.java | 143 ++
.../vm/dao/InstanceBootGroupMemberDaoImplTest.java | 144 ++
...ceBootGroupReadinessCheckResultDaoImplTest.java | 120 ++
.../InstanceBootGroupReadinessRuleDaoImplTest.java | 147 ++
...ceBootGroupReadinessRuleDetailsDaoImplTest.java | 116 ++
.../datastore/db/SnapshotDataStoreDaoImplTest.java | 61 +
.../motion/StorageSystemDataMotionStrategy.java | 17 +-
.../storage/image/TemplateServiceImpl.java | 16 +-
.../storage/snapshot/SnapshotObject.java | 11 +-
.../storage/snapshot/SnapshotObjectTest.java | 101 ++
.../datastore/ObjectInDataStoreManagerImpl.java | 5 +-
.../storage/volume/VolumeServiceImpl.java | 6 +-
.../java/com/cloud/utils/db/GenericDaoBase.java | 78 +-
.../com/cloud/utils/db/GenericDaoBaseTest.java | 75 +
.../network/NetworkExtensionElement.java | 2 +-
.../framework/jobs/impl/AsyncJobManagerImpl.java | 19 +-
.../jobs/impl/AsyncJobManagerImplTest.java | 146 ++
.../model/impl/DefaultModuleDefinitionSet.java | 38 +-
.../cloudstack/backup/NASBackupChainKeys.java | 18 +
.../cloudstack/backup/NASBackupProvider.java | 232 ++-
.../cloudstack/backup/NASBackupProviderTest.java | 374 ++++-
plugins/hypervisors/kvm/pom.xml | 36 +
.../hypervisor/kvm/resource/KVMHAMonitor.java | 6 +
.../kvm/resource/LibvirtComputingResource.java | 7 +
.../hypervisor/kvm/resource/LibvirtVMDef.java | 25 +-
...bvirtCheckGuestAgentLivenessCommandWrapper.java | 99 ++
.../wrapper/LibvirtCheckVolumeCommandWrapper.java | 60 +-
.../LibvirtCreateVMSnapshotCommandWrapper.java | 3 +-
.../wrapper/LibvirtGetVncPortCommandWrapper.java | 1 +
.../LibvirtGetVolumesOnStorageCommandWrapper.java | 27 +-
.../LibvirtManageSnapshotCommandWrapper.java | 3 +-
.../wrapper/LibvirtPlugNicCommandWrapper.java | 105 ++
.../wrapper/LibvirtResizeVolumeCommandWrapper.java | 10 +
.../LibvirtRestoreBackupCommandWrapper.java | 17 +-
.../wrapper/LibvirtTakeBackupCommandWrapper.java | 221 ++-
.../resource/wrapper/LibvirtUtilitiesHelper.java | 5 +-
.../kvm/storage/IscsiAdmStorageAdaptor.java | 138 +-
.../hypervisor/kvm/storage/KVMStoragePool.java | 39 +
.../kvm/storage/KVMStoragePoolManager.java | 11 +-
.../kvm/storage/KVMStorageProcessor.java | 9 +-
.../kvm/storage/LibvirtStorageAdaptor.java | 82 +
.../kvm/storage/MultipathNVMeOFAdapterBase.java | 722 +++++++++
.../kvm/storage/MultipathNVMeOFPool.java | 165 ++
.../hypervisor/kvm/storage/NVMeTCPAdapter.java | 51 +
.../apache/cloudstack/utils/linux/KVMHostInfo.java | 41 +-
.../apache/cloudstack/utils/qemu/QemuCommand.java | 1 +
.../org/apache/cloudstack/utils/qemu/QemuImg.java | 4 +-
.../kvm/resource/LibvirtComputingResourceTest.java | 9 +
.../hypervisor/kvm/resource/LibvirtVMDefTest.java | 21 +
...tCheckGuestAgentLivenessCommandWrapperTest.java | 236 +++
.../LibvirtCheckVolumeCommandWrapperTest.java | 62 +-
.../wrapper/LibvirtLinstorImportListingTest.java | 123 ++
.../wrapper/LibvirtPlugNicCommandWrapperTest.java | 147 ++
.../LibvirtRestoreBackupCommandWrapperTest.java | 126 ++
.../LibvirtTakeBackupCommandWrapperTest.java | 382 +++++
.../wrapper/LibvirtUtilitiesHelperTest.java | 27 +
.../cloudstack/utils/linux/KVMHostInfoTest.java | 46 +
.../apache/cloudstack/utils/qemu/QemuImgTest.java | 19 +
.../com/cloud/resource/SimulatorDiscoverer.java | 27 +-
.../manager/VmwareCbtMigrationServiceImpl.java | 37 +-
.../manager/VmwareCbtMigrationServiceImplTest.java | 70 +
.../cluster/KubernetesClusterManagerImpl.java | 50 +-
.../KubernetesClusterActionWorker.java | 101 +-
.../KubernetesClusterDestroyWorker.java | 43 +-
...ernetesClusterResourceModifierActionWorker.java | 23 +
.../KubernetesClusterScaleWorker.java | 26 +-
.../KubernetesClusterStartWorker.java | 61 +-
.../script/delete-pv-reclaimpolicy-delete | 82 +-
plugins/network-elements/netris/pom.xml | 2 +-
.../agent/api/CreateNetrisVnetCommand.java | 22 +-
.../apache/cloudstack/agent/api/NetrisCommand.java | 9 +
.../resource/NetrisResourceObjectUtils.java | 19 +-
.../cloudstack/service/NetrisApiClientImpl.java | 426 +++--
.../apache/cloudstack/service/NetrisElement.java | 16 +-
.../cloudstack/service/NetrisGuestNetworkGuru.java | 148 +-
.../service/NetrisPublicNetworkGuru.java | 9 +-
.../cloudstack/service/NetrisServiceImpl.java | 26 +-
.../agent/api/CreateNetrisVnetCommandTest.java | 11 +-
.../resource/NetrisResourceObjectUtilsTest.java | 6 +-
.../cloudstack/service/NetrisElementTest.java | 2 +-
.../service/NetrisGuestNetworkGuruTest.java | 42 +-
.../driver/CephObjectStoreDriverImpl.java | 17 +-
.../storage/datastore/adapter/ProviderVolume.java | 3 +-
.../lifecycle/AdaptiveDataStoreLifeCycleImpl.java | 24 +-
...loudStackPrimaryDataStoreLifeCycleImplTest.java | 2 +
.../adapter/flasharray/FlashArrayAdapter.java | 160 +-
.../adapter/flasharray/FlashArrayConnection.java | 9 +
.../adapter/flasharray/FlashArrayVolume.java | 26 +
plugins/storage/volume/linstor/CHANGELOG.md | 17 +
.../api/storage/LinstorBackupSnapshotCommand.java | 7 +
.../LinstorBackupSnapshotCommandWrapper.java | 61 +-
.../kvm/storage/LinstorStorageAdaptor.java | 233 ++-
.../hypervisor/kvm/storage/LinstorStoragePool.java | 28 +
.../driver/LinstorPrimaryDataStoreDriverImpl.java | 118 +-
.../datastore/util/LinstorImportHelper.java | 201 +++
.../storage/datastore/util/LinstorUtil.java | 79 +-
.../storage/motion/LinstorDataMotionStrategy.java | 120 +-
.../kvm/storage/LinstorStorageAdaptorTest.java | 344 ++++
.../LinstorPrimaryDataStoreDriverImplTest.java | 92 ++
.../util/LinstorApiPaginationContractTest.java | 74 +
.../datastore/util/LinstorImportHelperTest.java | 306 ++++
.../storage/datastore/util/LinstorUtilTest.java | 75 +
.../motion/LinstorDataMotionStrategyTest.java | 357 +++++
plugins/storage/volume/ontap/README.md | 4 +-
.../driver/OntapPrimaryDatastoreDriver.java | 186 ++-
.../storage/feign/client/AggregateFeignClient.java | 7 +-
.../storage/feign/client/SnapshotFeignClient.java | 94 ++
.../cloudstack/storage/feign/model/Aggregate.java | 56 +-
.../storage/feign/model/ConsistencyGroup.java | 99 ++
.../feign/model/ConsistencyGroupSnapshot.java | 149 ++
.../feign/model/ConsistencyGroupVolume.java | 67 +
...ConsistencyGroupVolumeProvisioningOptions.java} | 38 +-
.../cloudstack/storage/feign/model/ExportRule.java | 12 +-
.../storage/feign/model/IpInterface.java | 88 +-
.../lifecycle/OntapPrimaryDatastoreLifecycle.java | 106 +-
.../storage/listener/OntapHostListener.java | 183 ++-
.../storage/service/StorageStrategy.java | 410 +++--
.../storage/service/UnifiedNASStrategy.java | 179 ++-
.../storage/service/model/AccessGroup.java | 19 +-
.../storage/utils/OntapStorageConstants.java | 23 +
.../storage/utils/OntapStorageUtils.java | 129 +-
.../vmsnapshot/OntapVMSnapshotStrategy.java | 617 ++++++--
.../driver/OntapPrimaryDatastoreDriverTest.java | 72 +-
.../OntapPrimaryDatastoreLifecycleTest.java | 315 +++-
.../storage/service/StorageStrategyTest.java | 537 +++++--
.../storage/service/UnifiedNASStrategyTest.java | 372 +++++
.../storage/utils/OntapStorageUtilsTest.java | 14 +
.../vmsnapshot/OntapVMSnapshotStrategyTest.java | 436 ++++-
.../ScaleIOPrimaryDataStoreLifeCycleTest.java | 3 +
.../kvm/storage/StorPoolStorageAdaptor.java | 3 +-
.../driver/StorPoolPrimaryDataStoreDriver.java | 130 +-
.../storage/datastore/util/StorPoolUtil.java | 10 +-
.../driver/StorPoolPrimaryDataStoreDriverTest.java | 365 +++++
pom.xml | 1 +
python/lib/cloudutils/db.py | 13 +-
scripts/util/migrate-dynamicroles.py | 15 +-
scripts/vm/hypervisor/kvm/nasbackup.sh | 401 ++++-
scripts/vm/network/security_group.py | 232 +--
server/src/main/java/com/cloud/api/ApiDBUtils.java | 7 +-
.../main/java/com/cloud/api/ApiResponseHelper.java | 37 +-
server/src/main/java/com/cloud/api/ApiServer.java | 9 +-
server/src/main/java/com/cloud/api/ApiServlet.java | 68 +-
.../java/com/cloud/api/doc/ApiXmlDocWriter.java | 5 +-
.../java/com/cloud/api/query/QueryManagerImpl.java | 161 +-
.../com/cloud/api/query/dao/TemplateJoinDao.java | 15 +
.../cloud/api/query/dao/TemplateJoinDaoImpl.java | 371 ++++-
.../cloud/api/query/dao/TemplateListFilter.java | 258 +++
.../com/cloud/api/query/dao/VolumeJoinDaoImpl.java | 12 +-
.../api/query/dao/VpcOfferingJoinDaoImpl.java | 1 +
.../api/query/vo/BaseViewWithTagInformationVO.java | 4 +
.../com/cloud/api/query/vo/TemplateJoinVO.java | 4 +
.../configuration/ConfigurationManagerImpl.java | 9 +
.../main/java/com/cloud/hypervisor/KVMGuru.java | 38 +-
.../com/cloud/network/IpAddressManagerImpl.java | 37 +-
.../java/com/cloud/network/NetworkModelImpl.java | 9 +-
.../network/element/ConfigDriveNetworkElement.java | 2 +-
.../com/cloud/network/guru/GuestNetworkGuru.java | 16 +-
.../cloud/network/router/NetworkHelperImpl.java | 22 +-
.../router/VirtualNetworkApplianceManagerImpl.java | 9 +
.../network/security/SecurityGroupManagerImpl.java | 2 +-
.../security/SecurityGroupManagerImpl2.java | 2 +-
.../java/com/cloud/network/vpc/VpcManagerImpl.java | 47 +-
.../network/vpn/RemoteAccessVpnManagerImpl.java | 6 +
.../cloud/network/vpn/Site2SiteVpnManagerImpl.java | 3 +
.../com/cloud/resource/ResourceManagerImpl.java | 35 +-
.../resourcelimit/ResourceLimitManagerImpl.java | 153 +-
.../com/cloud/server/ConfigurationServerImpl.java | 19 +-
.../java/com/cloud/storage/StorageManagerImpl.java | 81 +-
.../com/cloud/storage/VolumeApiServiceImpl.java | 57 +-
.../cloud/storage/download/DownloadListener.java | 2 +-
.../cloud/storage/listener/StoragePoolMonitor.java | 23 +-
.../storage/snapshot/SnapshotManagerImpl.java | 78 +-
.../com/cloud/template/TemplateManagerImpl.java | 94 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 30 +-
.../api/query/dao/InstanceBootGroupJoinDao.java | 15 +-
.../query/dao/InstanceBootGroupJoinDaoImpl.java | 15 +-
.../api/query/vo/InstanceBootGroupJoinVO.java | 190 +++
.../cloudstack/backup/BackupManagerImpl.java | 112 +-
.../cloudstack/network/RoutedIpv4ManagerImpl.java | 30 +-
.../volume/VolumeImportUnmanageManagerImpl.java | 69 +-
.../cloudstack/vm/UnmanagedVMsManagerImpl.java | 181 ++-
.../vm/VmwareCbtMigrationManagerImpl.java | 36 +-
.../bootgroup/InstanceBootGroupApiServiceImpl.java | 939 +++++++++++
.../vm/bootgroup/InstanceBootGroupManager.java | 36 +-
.../vm/bootgroup/InstanceBootGroupManagerImpl.java | 619 ++++++++
.../InstanceBootGroupMembershipGuard.java | 185 +++
.../InstanceBootGroupVmStateListener.java | 66 +
.../readiness/GuestAgentLivenessChecker.java | 100 ++
.../InstanceBootGroupReadinessRuleManagerImpl.java | 624 ++++++++
.../InstanceBootGroupReadinessRuleService.java | 75 +
.../vm/bootgroup/readiness/PortCheckChecker.java | 168 ++
.../vm/bootgroup/readiness/VrPingChecker.java | 149 ++
.../core/spring-server-core-managers-context.xml | 12 +
.../java/com/cloud/api/ApiResponseHelperTest.java | 52 +-
.../src/test/java/com/cloud/api/ApiServerTest.java | 64 +
.../test/java/com/cloud/api/ApiServletTest.java | 416 ++++-
.../dao/TemplateJoinDaoImplBypassExplainTest.java | 398 +++++
.../api/query/dao/TemplateJoinDaoImplTest.java | 65 +
.../cloud/api/query/dao/VolumeJoinDaoImplTest.java | 19 +
.../configuration/ConfigurationManagerTest.java | 3 +
.../java/com/cloud/hypervisor/KVMGuruTest.java | 142 +-
.../network/IpAddressManagerImplSourceNatTest.java | 58 +
.../network/router/NetworkHelperImplTest.java | 45 +-
.../SecurityGroupManagerImpl2Ipv6RuleTest.java | 82 +
.../SecurityGroupManagerImplIpv6RuleTest.java | 90 ++
.../network/vpn/Site2SiteVpnManagerImplTest.java | 1 +
.../cloud/resource/ResourceManagerImplTest.java | 2 +
.../ResourceLimitManagerImplTest.java | 256 +++
.../cloud/storage/VolumeApiServiceImplTest.java | 114 ++
.../storage/listener/StoragePoolMonitorTest.java | 116 +-
.../storage/snapshot/SnapshotManagerImplTest.java | 155 +-
.../cloud/template/TemplateManagerImplTest.java | 175 ++
.../com/cloud/vm/UserVmImportTemplateTest.java | 206 +++
.../java/com/cloud/vm/UserVmManagerImplTest.java | 133 +-
.../java/com/cloud/vpc/dao/MockNetworkDaoImpl.java | 5 +
.../cloudstack/backup/BackupManagerTest.java | 222 ++-
.../network/RoutedIpv4ManagerImplTest.java | 74 +-
.../schedule/vm/VMScheduleWorkerTest.java | 7 +-
.../cloudstack/service/NetrisServiceMockTest.java | 8 +-
.../VolumeImportUnmanageManagerImplTest.java | 74 +-
.../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 123 +-
.../vm/VmwareCbtMigrationCheckpointTest.java | 52 +
.../vm/VmwareCbtMigrationCutoverFailureTest.java | 78 +
.../vm/VmwareCbtMigrationDeletePolicyTest.java | 119 ++
.../InstanceBootGroupApiServiceImplTest.java | 1304 +++++++++++++++
.../InstanceBootGroupManagerImplTest.java | 819 ++++++++++
.../InstanceBootGroupMembershipGuardTest.java | 301 ++++
.../InstanceBootGroupVmStateListenerTest.java | 106 ++
.../readiness/GuestAgentLivenessCheckerTest.java | 163 ++
...tanceBootGroupReadinessRuleManagerImplTest.java | 981 ++++++++++++
.../bootgroup/readiness/PortCheckCheckerTest.java | 245 +++
.../vm/bootgroup/readiness/VrPingCheckerTest.java | 244 +++
.../resource/SecondaryStorageDiscoverer.java | 28 +-
systemvm/debian/opt/cloud/bin/configure.py | 24 +-
systemvm/debian/opt/cloud/bin/cs/CsAddress.py | 45 +-
systemvm/debian/opt/cloud/bin/cs/CsBgpPeers.py | 54 +-
systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 2 +-
systemvm/debian/opt/cloud/bin/cs/CsGuestNetwork.py | 3 +
.../opt/cloud/bin/instance_readiness_check.py | 71 +
systemvm/debian/opt/cloud/bin/setup/common.sh | 4 +-
systemvm/debian/opt/cloud/bin/setup/router.sh | 2 +-
systemvm/debian/opt/cloud/bin/setup/vpcrouter.sh | 2 +-
systemvm/test/TestCsAclRouting.py | 67 +
systemvm/test/TestCsAddress.py | 77 +-
systemvm/test/TestCsBgpPeers.py | 208 +++
systemvm/test/TestCsForwardingRules.py | 63 +
systemvm/test/frr-bgppeers-ipv4-ipv6.conf | 61 +
test/integration/plugins/linstor/README.md | 30 +
.../plugins/linstor/linstor_test_utils.py | 83 +
.../linstor/test_linstor_encrypted_snapshots.py | 32 +-
.../linstor/test_linstor_incremental_snapshots.py | 639 ++++++++
.../plugins/linstor/test_linstor_volumes.py | 46 +-
.../plugins/storpool/TestStorPoolImportVolume.py | 610 +++++++
test/integration/smoke/test_cluster_drs.py | 15 +-
.../smoke/test_deploy_vms_in_parallel.py | 36 +
test/integration/smoke/test_events_resource.py | 1 +
test/integration/smoke/test_host_maintenance.py | 69 +-
test/integration/smoke/test_instance_boot_group.py | 310 ++++
test/integration/smoke/test_kms_lifecycle.py | 5 +
.../smoke/test_network_extension_namespace.py | 4 +-
.../smoke/test_nonstrict_affinity_group.py | 7 +-
test/integration/smoke/test_usage.py | 11 +-
test/integration/smoke/test_vm_life_cycle.py | 1 +
test/integration/smoke/test_vm_strict_host_tags.py | 4 +
tools/apidoc/gen_toc.py | 3 +-
tools/marvin/marvin/lib/base.py | 172 +-
ui/public/config.json | 150 +-
ui/public/locales/en.json | 61 +-
ui/src/components/view/DetailsTab.vue | 13 +
ui/src/components/view/InfoCard.vue | 7 +-
ui/src/components/view/ListView.vue | 2 +-
ui/src/composables/useServiceCapabilityParams.js | 19 +-
ui/src/config/section/account.js | 3 +-
ui/src/config/section/compute.js | 93 ++
ui/src/config/section/network.js | 1 +
ui/src/config/section/offering.js | 2 +-
ui/src/core/lazy_lib/icons_use.js | 4 +-
ui/src/store/modules/user.js | 155 +-
ui/src/utils/plugins.js | 1 -
ui/src/utils/request.js | 20 +-
.../views/compute/AddInstanceBootGroupMember.vue | 174 ++
ui/src/views/compute/EditVM.vue | 11 +-
.../views/compute/InstanceBootGroupMembersTab.vue | 352 +++++
.../InstanceBootGroupReadinessRulesModal.vue | 413 +++++
.../compute/UpdateInstanceBootGroupMemberOrder.vue | 116 ++
ui/src/views/dashboard/SetupTwoFaAtLogin.vue | 11 +-
ui/src/views/dashboard/VerifyTwoFa.vue | 11 +-
ui/src/views/iam/AddUser.vue | 22 +-
ui/src/views/infra/AddObjectStorage.vue | 6 +-
ui/src/views/infra/AddPrimaryStorage.vue | 17 +-
.../views/infra/zone/AdvancedGuestTrafficForm.vue | 4 +
ui/src/views/network/VpcTab.vue | 4 +-
ui/src/views/network/VpnDetails.vue | 28 +-
ui/src/views/offering/AddNetworkOffering.vue | 172 +-
ui/src/views/offering/AddVpcOffering.vue | 21 +-
ui/src/views/setting/ConfigurationValue.vue | 42 +-
ui/tests/unit/utils/request.spec.js | 84 +
ui/tests/unit/views/dashboard/TwoFaFailure.spec.js | 72 +
ui/tests/unit/views/infra/AddObjectStorage.spec.js | 99 ++
.../java/com/cloud/usage/UsageManagerImpl.java | 10 +-
.../java/com/cloud/usage/UsageManagerImplTest.java | 47 +
utils/src/main/java/com/cloud/utils/DateUtil.java | 63 +-
.../src/main/java/com/cloud/utils/ReflectUtil.java | 4 +
.../src/main/java/com/cloud/utils/StringUtils.java | 2 +-
.../test/java/com/cloud/utils/DateUtilTest.java | 113 +-
.../test/java/com/cloud/utils/StringUtilsTest.java | 29 +
.../cloud/hypervisor/vmware/util/VmwareClient.java | 2 +-
471 files changed, 38651 insertions(+), 4659 deletions(-)
copy systemvm/test/TestCsAddress.py =>
.github/workflows/asf-allowlist-check.yml (53%)
delete mode 100644 .github/workflows/weekly-repo-status.lock.yml
delete mode 100644 .github/workflows/weekly-repo-status.md
create mode 100644 .mvn/develocity.xml
create mode 100644 .mvn/extensions.xml
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/AddMemberToInstanceBootGroupCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/DeleteInstanceBootGroupCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/DeleteInstanceBootGroupReadinessRuleCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupMembersCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupReadinessRulesCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/RebootInstanceBootGroupCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/RemoveInstanceBootGroupMemberCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/StartInstanceBootGroupCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/StopInstanceBootGroupCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupMemberCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupMemberChildResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupMemberResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupReadinessRuleResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/InstanceBootGroupResponse.java
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=> api/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroup.java
(67%)
copy
api/src/main/java/org/apache/cloudstack/{network/Ipv4GuestSubnetNetworkMap.java
=> vm/bootgroup/InstanceBootGroupMember.java} (65%)
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupService.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceBootGroupReadinessRule.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/ReadinessChecker.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/AddMemberToInstanceBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/BaseBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/DeleteInstanceBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/DeleteInstanceBootGroupReadinessRuleCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupMembersCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupReadinessRulesCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/ListInstanceBootGroupsCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/RebootInstanceBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/RemoveInstanceBootGroupMemberCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/StartInstanceBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/StopInstanceBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupMemberCmdTest.java
create mode 100644
api/src/test/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmdTest.java
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=> core/src/main/java/com/cloud/agent/api/CheckGuestAgentLivenessAnswer.java
(64%)
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=> core/src/main/java/com/cloud/agent/api/CheckGuestAgentLivenessCommand.java
(64%)
create mode 100644
core/src/main/java/com/cloud/agent/transport/compat/AbstractTOAdaptor.java
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=> core/src/main/java/com/cloud/agent/transport/compat/DiskTOAdaptor.java (68%)
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=>
core/src/main/java/com/cloud/agent/transport/compat/MigrateCommandAdaptor.java
(68%)
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=> core/src/main/java/com/cloud/agent/transport/compat/NetworkTOAdaptor.java
(68%)
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=>
core/src/main/java/com/cloud/agent/transport/compat/VirtualMachineTOAdaptor.java
(68%)
create mode 100644
core/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceReadinessCheckAnswer.java
create mode 100644
core/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceReadinessCheckCommand.java
create mode 100644
core/src/test/java/com/cloud/agent/resource/virtualnetwork/InstanceReadinessCheckExecutionTest.java
create mode 100644
core/src/test/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceReadinessCheckAnswerTest.java
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=> engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDao.java (68%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDaoImpl.java
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=>
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDetailsDao.java
(67%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDetailsDaoImpl.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupMemberDao.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupMemberDaoImpl.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessCheckResultDao.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessCheckResultDaoImpl.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDao.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDaoImpl.java
copy engine/schema/src/main/java/com/cloud/{usage/dao/UsageBackupDao.java =>
vm/dao/InstanceBootGroupReadinessRuleDetailsDao.java} (59%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDetailsDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/BackupUsageMetricVO.java
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=>
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/BackupUsageMetricDao.java
(68%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/BackupUsageMetricDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupDetailsVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupMemberVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupReadinessCheckResultVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupReadinessRuleDetailsVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupReadinessRuleVO.java
copy
engine/schema/src/main/java/org/apache/cloudstack/{network/Ipv4GuestSubnetNetworkMapVO.java
=> vm/bootgroup/InstanceBootGroupVO.java} (50%)
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.instance_boot_group_view.sql
create mode 100644
engine/schema/src/test/java/com/cloud/storage/dao/SnapshotDaoImplTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/usage/dao/UsageBackupDaoImplTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/vm/dao/InstanceBootGroupDaoImplTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/vm/dao/InstanceBootGroupDetailsDaoImplTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/vm/dao/InstanceBootGroupMemberDaoImplTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/vm/dao/InstanceBootGroupReadinessCheckResultDaoImplTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDaoImplTest.java
create mode 100644
engine/schema/src/test/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDetailsDaoImplTest.java
create mode 100644
engine/storage/snapshot/src/test/java/org/apache/cloudstack/storage/snapshot/SnapshotObjectTest.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCheckGuestAgentLivenessCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathNVMeOFAdapterBase.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/MultipathNVMeOFPool.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/NVMeTCPAdapter.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCheckGuestAgentLivenessCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtLinstorImportListingTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPlugNicCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtTakeBackupCommandWrapperTest.java
create mode 100644
plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/manager/VmwareCbtMigrationServiceImplTest.java
create mode 100644
plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/util/LinstorImportHelper.java
create mode 100644
plugins/storage/volume/linstor/src/test/java/com/cloud/hypervisor/kvm/storage/LinstorStorageAdaptorTest.java
create mode 100644
plugins/storage/volume/linstor/src/test/java/org/apache/cloudstack/storage/datastore/util/LinstorApiPaginationContractTest.java
create mode 100644
plugins/storage/volume/linstor/src/test/java/org/apache/cloudstack/storage/datastore/util/LinstorImportHelperTest.java
create mode 100644
plugins/storage/volume/linstor/src/test/java/org/apache/cloudstack/storage/motion/LinstorDataMotionStrategyTest.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/model/ConsistencyGroup.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/model/ConsistencyGroupSnapshot.java
create mode 100644
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/model/ConsistencyGroupVolume.java
copy
plugins/storage/volume/ontap/src/main/java/org/apache/cloudstack/storage/feign/{client/AggregateFeignClient.java
=> model/ConsistencyGroupVolumeProvisioningOptions.java} (50%)
create mode 100644
server/src/main/java/com/cloud/api/query/dao/TemplateListFilter.java
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=>
server/src/main/java/org/apache/cloudstack/api/query/dao/InstanceBootGroupJoinDao.java
(68%)
copy
plugins/storage/volume/linstor/src/main/java/com/cloud/api/storage/LinstorBackupSnapshotCommand.java
=>
server/src/main/java/org/apache/cloudstack/api/query/dao/InstanceBootGroupJoinDaoImpl.java
(68%)
create mode 100644
server/src/main/java/org/apache/cloudstack/api/query/vo/InstanceBootGroupJoinVO.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupApiServiceImpl.java
copy
api/src/main/java/org/apache/cloudstack/network/Ipv4GuestSubnetNetworkMap.java
=>
server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupManager.java
(52%)
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupManagerImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupMembershipGuard.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupVmStateListener.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/GuestAgentLivenessChecker.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceBootGroupReadinessRuleManagerImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceBootGroupReadinessRuleService.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/PortCheckChecker.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/readiness/VrPingChecker.java
create mode 100644
server/src/test/java/com/cloud/api/query/dao/TemplateJoinDaoImplBypassExplainTest.java
create mode 100644
server/src/test/java/com/cloud/network/IpAddressManagerImplSourceNatTest.java
create mode 100644
server/src/test/java/com/cloud/network/security/SecurityGroupManagerImpl2Ipv6RuleTest.java
create mode 100644
server/src/test/java/com/cloud/network/security/SecurityGroupManagerImplIpv6RuleTest.java
create mode 100644
server/src/test/java/com/cloud/vm/UserVmImportTemplateTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/VmwareCbtMigrationCheckpointTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/VmwareCbtMigrationCutoverFailureTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupApiServiceImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupManagerImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupMembershipGuardTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupVmStateListenerTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/readiness/GuestAgentLivenessCheckerTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/readiness/InstanceBootGroupReadinessRuleManagerImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/readiness/PortCheckCheckerTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/bootgroup/readiness/VrPingCheckerTest.java
create mode 100644 systemvm/debian/opt/cloud/bin/instance_readiness_check.py
create mode 100644 systemvm/test/TestCsAclRouting.py
create mode 100644 systemvm/test/TestCsBgpPeers.py
create mode 100644 systemvm/test/TestCsForwardingRules.py
create mode 100644 systemvm/test/frr-bgppeers-ipv4-ipv6.conf
create mode 100644 test/integration/plugins/linstor/linstor_test_utils.py
create mode 100644
test/integration/plugins/linstor/test_linstor_incremental_snapshots.py
create mode 100644
test/integration/plugins/storpool/TestStorPoolImportVolume.py
create mode 100644 test/integration/smoke/test_instance_boot_group.py
create mode 100644 ui/src/views/compute/AddInstanceBootGroupMember.vue
create mode 100644 ui/src/views/compute/InstanceBootGroupMembersTab.vue
create mode 100644
ui/src/views/compute/InstanceBootGroupReadinessRulesModal.vue
create mode 100644 ui/src/views/compute/UpdateInstanceBootGroupMemberOrder.vue
create mode 100644 ui/tests/unit/utils/request.spec.js
create mode 100644 ui/tests/unit/views/dashboard/TwoFaFailure.spec.js
create mode 100644 ui/tests/unit/views/infra/AddObjectStorage.spec.js