This is an automated email from the ASF dual-hosted git repository.
andrijapanicsb pushed a change to branch cks-live-resize-capacity-reconciliation
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
omit 40b50b012e3 CKS: register live resize capacity reconciler
omit d512edb7e00 CKS: resolve live resize target public IP
omit 859f394e4d9 CKS: improve live resize failure diagnostics
omit 6c343339208 CKS: test live resize reconciliation guards
omit a4e4e3752b3 CKS: cover node capacity reconciliation ownership
omit 6f6656f4917 CKS: reconcile node capacity after live resize
add 0a5bf30af32 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 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 a62d23b0bc4 CKS: reconcile node capacity after live resize
add 95a51822705 CKS: cover node capacity reconciliation ownership
add f57838e2374 CKS: test live resize reconciliation guards
add a40ea44fd3a CKS: improve live resize failure diagnostics
add 780d621dbe1 CKS: resolve live resize target public IP
add 4216946a474 CKS: register live resize capacity reconciler
add 7e5a95a7593 CKS: retry capacity reconciliation after live resize
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (40b50b012e3)
\
N -- N -- N refs/heads/cks-live-resize-capacity-reconciliation
(7e5a95a7593)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.../workflows/{rat.yml => asf-allowlist-check.yml} | 37 +-
.github/workflows/build.yml | 2 +
.github/workflows/ci.yml | 8 +
.github/workflows/docker-cloudstack-simulator.yml | 2 +-
.github/workflows/main-sonar-check.yml | 3 +
.github/workflows/rat.yml | 2 +
.github/workflows/sonar-check.yml | 3 +
.gitignore | 3 +
.mvn/develocity.xml | 50 +
.mvn/extensions.xml | 34 +
.pre-commit-config.yaml | 7 +
PendingReleaseNotes | 19 +
.../cloud/agent/properties/AgentProperties.java | 13 +
.../com/cloud/agent/api/to/RemoteInstanceTO.java | 14 +
.../api/to/VmwareCbtChangedBlockRangeTO.java} | 31 +-
.../agent/api/to/VmwareCbtDiskSyncResultTO.java | 78 +
.../com/cloud/agent/api/to/VmwareCbtDiskTO.java | 85 +
.../agent/api/to/VmwareVddkSourceDiskTO.java} | 37 +-
api/src/main/java/com/cloud/event/EventTypes.java | 33 +
api/src/main/java/com/cloud/host/Host.java | 10 +
.../com/cloud/network/netris/NetrisService.java | 30 +-
.../cloudstack/api/ApiCommandResourceType.java | 5 +-
.../org/apache/cloudstack/api/ApiConstants.java | 42 +
.../admin/network/NetworkOfferingBaseCmd.java | 8 +
.../admin/vm/CancelVmwareCbtMigrationCmd.java | 73 +
.../CheckVmwareCbtMigrationPrerequisitesCmd.java | 204 ++
.../admin/vm/CutoverVmwareCbtMigrationCmd.java | 110 +
.../admin/vm/DeleteVmwareCbtMigrationCmd.java | 81 +
.../admin/vm/ImportUnmanagedInstanceCmd.java | 2 +-
.../api/command/admin/vm/ImportVmCmd.java | 38 +-
.../admin/vm/ListVmwareCbtMigrationsCmd.java | 109 +
.../admin/vm/StartVmwareCbtMigrationCmd.java | 361 +++
.../admin/vm/SyncVmwareCbtMigrationCmd.java | 110 +
.../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 ++
.../response/VmwareCbtMigrationCycleResponse.java | 111 +
.../response/VmwareCbtMigrationDiskResponse.java | 117 +
.../VmwareCbtMigrationPreflightDiskResponse.java | 114 +
...VmwareCbtMigrationPreflightFindingResponse.java | 55 +
.../VmwareCbtMigrationPreflightResponse.java | 284 ++
.../api/response/VmwareCbtMigrationResponse.java | 288 ++
.../api/response/VpcOfferingResponse.java | 8 +
.../org/apache/cloudstack/query/QueryService.java | 6 +
.../volume/VolumeImportUnmanageService.java | 3 +-
.../apache/cloudstack/vm/UnmanagedInstanceTO.java | 43 +
.../apache/cloudstack/vm/UnmanagedVMsManager.java | 50 +
.../VmwareCbtChangedBlockInfo.java} | 24 +-
.../cloudstack/vm/VmwareCbtChangedDiskInfo.java | 46 +
.../apache/cloudstack/vm/VmwareCbtDiskInfo.java | 67 +
.../apache/cloudstack/vm/VmwareCbtMigration.java | 47 +
.../VmwareCbtMigrationCycle.java} | 28 +-
.../VmwareCbtMigrationDisk.java} | 28 +-
.../cloudstack/vm/VmwareCbtMigrationManager.java | 46 +
.../cloudstack/vm/VmwareCbtMigrationService.java | 47 +
.../cloudstack/vm/VmwareCbtPreflightDiskInfo.java | 59 +
.../cloudstack/vm/VmwareCbtPreflightInfo.java | 138 +
.../cloudstack/vm/VmwareCbtPreflightNicInfo.java | 87 +
.../VmwareCbtSnapshotInfo.java} | 30 +-
.../bootgroup/InstanceBootGroup.java} | 25 +-
.../bootgroup/InstanceBootGroupMember.java} | 32 +-
.../vm/bootgroup/InstanceBootGroupService.java | 81 +
.../readiness/InstanceBootGroupReadinessRule.java | 81 +
.../vm/bootgroup/readiness/ReadinessChecker.java | 93 +
.../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 +
.../agent/api/CheckConvertInstanceCommand.java | 18 +
.../agent/api/CheckGuestAgentLivenessAnswer.java | 23 +-
.../agent/api/CheckGuestAgentLivenessCommand.java | 26 +-
.../cloud/agent/api/ConvertInstanceCommand.java | 21 +
.../agent/api/ImportConvertedInstanceCommand.java | 15 +
.../cloud/agent/api/VmwareCbtCleanupCommand.java | 100 +
.../cloud/agent/api/VmwareCbtCutoverCommand.java | 133 +
.../cloud/agent/api/VmwareCbtMigrationAnswer.java | 82 +
.../cloud/agent/api/VmwareCbtPrepareCommand.java | 110 +
.../cloud/agent/api/VmwareCbtRbdProbeCommand.java | 63 +
.../com/cloud/agent/api/VmwareCbtSyncCommand.java | 138 +
.../agent/api/to/VmwareCbtTargetStorageType.java | 30 +-
.../agent/resource/virtualnetwork/VRScripts.java | 1 +
.../virtualnetwork/VirtualRoutingResource.java | 13 +
.../agent/transport/compat/AbstractTOAdaptor.java | 86 +
.../agent/transport/compat/DiskTOAdaptor.java | 26 +-
.../transport/compat/MigrateCommandAdaptor.java | 26 +-
.../agent/transport/compat/NetworkTOAdaptor.java | 26 +-
.../transport/compat/VirtualMachineTOAdaptor.java | 25 +-
.../main/java/com/cloud/serializer/GsonHelper.java | 44 +
.../cloudstack/backup/TakeBackupCommand.java | 9 +
.../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 -
docs/vmware-cbt-migration.md | 457 +++
docs/vmware-cbt/README.md | 1550 ++++++++++
docs/vmware-cbt/architecture.md | 266 ++
docs/vmware-linstor-migration.md | 238 ++
.../service/VolumeOrchestrationService.java | 6 +-
.../api/storage/PrimaryDataStoreDriver.java | 7 +
.../java/com/cloud/storage/StorageManager.java | 4 +
.../com/cloud/agent/manager/AgentManagerImpl.java | 73 +-
.../engine/orchestration/NetworkOrchestrator.java | 40 +-
.../engine/orchestration/VolumeOrchestrator.java | 28 +-
.../orchestration/VolumeOrchestratorTest.java | 27 +-
.../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/upgrade/DatabaseUpgradeChecker.java | 5 +-
.../com/cloud/vm/VmwareCbtMigrationCycleVO.java | 171 ++
.../com/cloud/vm/VmwareCbtMigrationDiskVO.java | 197 ++
.../java/com/cloud/vm/VmwareCbtMigrationVO.java | 465 +++
.../com/cloud/vm/dao/InstanceBootGroupDao.java | 22 +-
.../com/cloud/vm/dao/InstanceBootGroupDaoImpl.java | 60 +
.../cloud/vm/dao/InstanceBootGroupDetailsDao.java | 22 +-
.../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 | 26 +-
...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 +
.../cloud/vm/dao/VmwareCbtMigrationCycleDao.java | 24 +-
.../vm/dao/VmwareCbtMigrationCycleDaoImpl.java | 46 +
.../com/cloud/vm/dao/VmwareCbtMigrationDao.java | 62 +
.../cloud/vm/dao/VmwareCbtMigrationDaoImpl.java | 129 +
.../cloud/vm/dao/VmwareCbtMigrationDiskDao.java | 24 +-
.../vm/dao/VmwareCbtMigrationDiskDaoImpl.java | 44 +
.../org/apache/cloudstack/backup/BackupVO.java | 2 +-
.../storage/datastore/db/PrimaryDataStoreDao.java | 30 +-
.../datastore/db/PrimaryDataStoreDaoImpl.java | 59 +-
.../vm/bootgroup/InstanceBootGroupDetailsVO.java | 93 +
.../vm/bootgroup/InstanceBootGroupMemberVO.java | 116 +
.../InstanceBootGroupReadinessCheckResultVO.java | 113 +
.../InstanceBootGroupReadinessRuleDetailsVO.java | 99 +
.../InstanceBootGroupReadinessRuleVO.java | 149 +
.../vm/bootgroup/InstanceBootGroupVO.java | 131 +
.../spring-engine-schema-core-daos-context.xml | 10 +
.../resources/META-INF/db/schema-42300to2400.sql | 221 ++
.../db/views/cloud.instance_boot_group_view.sql | 47 +
.../com/cloud/network/dao/NetworkDaoImplTest.java | 24 +
.../cloud/vm/dao/InstanceBootGroupDaoImplTest.java | 99 +
.../dao/InstanceBootGroupDetailsDaoImplTest.java | 143 +
.../vm/dao/InstanceBootGroupMemberDaoImplTest.java | 144 +
...ceBootGroupReadinessCheckResultDaoImplTest.java | 120 +
.../InstanceBootGroupReadinessRuleDaoImplTest.java | 147 +
...ceBootGroupReadinessRuleDetailsDaoImplTest.java | 116 +
.../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 +
.../cloudstack/backup/NASBackupProvider.java | 37 +-
.../cloudstack/backup/NASBackupProviderTest.java | 79 +-
plugins/hypervisors/kvm/pom.xml | 36 +
.../kvm/resource/LibvirtComputingResource.java | 261 +-
.../wrapper/LibvirtBaseConvertCommandWrapper.java | 73 +-
.../LibvirtCheckConvertInstanceCommandWrapper.java | 15 +
...bvirtCheckGuestAgentLivenessCommandWrapper.java | 99 +
.../wrapper/LibvirtCheckVolumeCommandWrapper.java | 76 +-
.../LibvirtConvertInstanceCommandWrapper.java | 748 ++++-
.../LibvirtCreateVMSnapshotCommandWrapper.java | 3 +-
.../wrapper/LibvirtGetVncPortCommandWrapper.java | 1 +
.../LibvirtGetVolumesOnStorageCommandWrapper.java | 32 +-
...bvirtImportConvertedInstanceCommandWrapper.java | 21 +-
.../LibvirtManageSnapshotCommandWrapper.java | 3 +-
.../wrapper/LibvirtPlugNicCommandWrapper.java | 105 +
.../wrapper/LibvirtReadyCommandWrapper.java | 10 +
.../wrapper/LibvirtTakeBackupCommandWrapper.java | 8 +-
.../resource/wrapper/LibvirtUtilitiesHelper.java | 5 +-
.../LibvirtVmwareCbtCleanupCommandWrapper.java | 339 +++
.../LibvirtVmwareCbtCutoverCommandWrapper.java | 794 ++++++
.../LibvirtVmwareCbtPrepareCommandWrapper.java | 506 ++++
.../LibvirtVmwareCbtRbdProbeCommandWrapper.java | 218 ++
.../LibvirtVmwareCbtSyncCommandWrapper.java | 489 ++++
.../wrapper/VmwareCbtCommandOutputLogger.java | 83 +
.../resource/wrapper/VmwareCbtCommandResult.java | 27 +-
.../kvm/resource/wrapper/VmwareCbtSyncPlan.java | 273 ++
.../hypervisor/kvm/storage/KVMStoragePool.java | 43 +
.../kvm/storage/LibvirtStorageAdaptor.java | 82 +
.../hypervisor/kvm/storage/LibvirtStoragePool.java | 31 +-
.../apache/cloudstack/utils/qemu/QemuCommand.java | 1 +
.../org/apache/cloudstack/utils/qemu/QemuImg.java | 48 +-
.../kvm/resource/LibvirtComputingResourceTest.java | 41 +
...virtCheckConvertInstanceCommandWrapperTest.java | 65 +
...tCheckGuestAgentLivenessCommandWrapperTest.java | 236 ++
.../LibvirtCheckVolumeCommandWrapperTest.java | 238 ++
.../LibvirtConvertInstanceCommandWrapperTest.java | 123 +-
...tImportConvertedInstanceCommandWrapperTest.java | 110 +
.../wrapper/LibvirtLinstorImportListingTest.java | 123 +
.../wrapper/LibvirtPlugNicCommandWrapperTest.java | 147 +
.../LibvirtTakeBackupCommandWrapperTest.java | 102 +
.../wrapper/LibvirtUtilitiesHelperTest.java | 27 +
.../LibvirtVmwareCbtCleanupCommandWrapperTest.java | 239 ++
.../LibvirtVmwareCbtCutoverCommandWrapperTest.java | 412 +++
.../LibvirtVmwareCbtPrepareCommandWrapperTest.java | 254 ++
...LibvirtVmwareCbtRbdProbeCommandWrapperTest.java | 167 ++
.../LibvirtVmwareCbtSyncCommandWrapperTest.java | 246 ++
.../resource/wrapper/VmwareCbtSyncPlanTest.java | 98 +
.../kvm/storage/LibvirtStoragePoolTest.java | 56 +
.../manager/VmwareCbtMigrationServiceImpl.java | 602 ++++
.../cloudstack/core/spring-vmware-core-context.xml | 2 +
.../manager/VmwareCbtMigrationServiceImplTest.java | 70 +
.../cluster/KubernetesClusterManagerImpl.java | 50 +-
.../KubernetesClusterActionWorker.java | 101 +-
.../KubernetesClusterDestroyWorker.java | 43 +-
...ernetesClusterResourceModifierActionWorker.java | 23 +
.../KubernetesClusterScaleWorker.java | 53 +-
.../KubernetesClusterStartWorker.java | 61 +-
...ubernetesClusterNodeCapacityReconcilerImpl.java | 16 +-
.../spring-kubernetes-service-context.xml | 2 -
.../script/delete-pv-reclaimpolicy-delete | 82 +-
.../KubernetesClusterScaleWorkerTest.java | 26 +
...netesClusterNodeCapacityReconcilerImplTest.java | 17 +-
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 +-
...loudStackPrimaryDataStoreLifeCycleImplTest.java | 2 +
.../kvm/storage/LinstorStorageAdaptor.java | 33 +-
.../hypervisor/kvm/storage/LinstorStoragePool.java | 28 +
.../driver/LinstorPrimaryDataStoreDriverImpl.java | 7 +
.../datastore/util/LinstorImportHelper.java | 201 ++
.../storage/datastore/util/LinstorUtil.java | 89 +-
.../util/LinstorApiPaginationContractTest.java | 74 +
.../datastore/util/LinstorImportHelperTest.java | 306 ++
.../storage/datastore/util/LinstorUtilTest.java | 14 +
.../ScaleIOPrimaryDataStoreLifeCycleTest.java | 3 +
pom.xml | 1 +
scripts/vm/hypervisor/kvm/nasbackup.sh | 119 +-
.../main/java/com/cloud/api/ApiResponseHelper.java | 17 +-
server/src/main/java/com/cloud/api/ApiServer.java | 9 +-
.../java/com/cloud/api/doc/ApiXmlDocWriter.java | 5 +-
.../java/com/cloud/api/query/QueryManagerImpl.java | 160 +-
.../com/cloud/api/query/dao/TemplateJoinDao.java | 15 +
.../cloud/api/query/dao/TemplateJoinDaoImpl.java | 371 ++-
.../cloud/api/query/dao/TemplateListFilter.java | 258 ++
.../api/query/dao/VpcOfferingJoinDaoImpl.java | 1 +
.../api/query/vo/BaseViewWithTagInformationVO.java | 4 +
.../com/cloud/api/query/vo/TemplateJoinVO.java | 4 +
.../com/cloud/network/IpAddressManagerImpl.java | 37 +-
.../java/com/cloud/network/NetworkModelImpl.java | 6 +-
.../com/cloud/network/guru/GuestNetworkGuru.java | 16 +-
.../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/ManagementServerImpl.java | 7 +-
.../java/com/cloud/storage/StorageManagerImpl.java | 21 +-
.../cloud/storage/listener/StoragePoolMonitor.java | 23 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 30 +-
.../api/query/dao/InstanceBootGroupJoinDao.java | 21 +-
.../query/dao/InstanceBootGroupJoinDaoImpl.java | 21 +-
.../api/query/vo/InstanceBootGroupJoinVO.java | 190 ++
.../cloudstack/backup/BackupManagerImpl.java | 30 +-
.../volume/VolumeImportUnmanageManagerImpl.java | 27 +-
.../cloudstack/vm/UnmanagedVMsManagerImpl.java | 716 ++++-
.../vm/VmwareCbtMigrationCutoverPolicy.java | 81 +
.../vm/VmwareCbtMigrationManagerImpl.java | 3008 ++++++++++++++++++++
.../cloudstack/vm/VmwareCbtStorageTarget.java | 89 +
.../bootgroup/InstanceBootGroupApiServiceImpl.java | 939 ++++++
.../vm/bootgroup/InstanceBootGroupManager.java | 27 +-
.../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 +
.../spring-server-compute-context.xml | 2 +
.../src/test/java/com/cloud/api/ApiServerTest.java | 64 +
.../dao/TemplateJoinDaoImplBypassExplainTest.java | 398 +++
.../api/query/dao/TemplateJoinDaoImplTest.java | 65 +
.../network/IpAddressManagerImplSourceNatTest.java | 58 +
.../SecurityGroupManagerImpl2Ipv6RuleTest.java | 82 +
.../SecurityGroupManagerImplIpv6RuleTest.java | 90 +
.../network/vpn/Site2SiteVpnManagerImplTest.java | 1 +
.../cloud/resource/ResourceManagerImplTest.java | 2 +
.../ResourceLimitManagerImplTest.java | 256 ++
.../storage/listener/StoragePoolMonitorTest.java | 116 +-
.../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 | 55 +
.../cloudstack/service/NetrisServiceMockTest.java | 8 +-
.../VolumeImportUnmanageManagerImplTest.java | 83 +-
.../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 479 +++-
.../vm/VmwareCbtMigrationCheckpointTest.java | 52 +
.../vm/VmwareCbtMigrationCutoverFailureTest.java | 78 +
.../vm/VmwareCbtMigrationCutoverPolicyTest.java | 75 +
.../vm/VmwareCbtMigrationDeletePolicyTest.java | 179 ++
.../vm/VmwareCbtMigrationImportTest.java | 126 +
.../vm/VmwareCbtMigrationNicValidationTest.java | 144 +
.../VmwareCbtMigrationOfferingValidationTest.java | 135 +
.../cloudstack/vm/VmwareCbtStorageTargetTest.java | 205 ++
.../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 ++
systemvm/debian/opt/cloud/bin/configure.py | 22 +-
systemvm/debian/opt/cloud/bin/cs/CsAddress.py | 35 +-
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/TestCsBgpPeers.py | 208 ++
systemvm/test/TestCsForwardingRules.py | 63 +
systemvm/test/frr-bgppeers-ipv4-ipv6.conf | 61 +
test/integration/smoke/test_instance_boot_group.py | 310 ++
tools/apidoc/gen_toc.py | 3 +-
tools/marvin/marvin/lib/base.py | 164 ++
ui/public/config.json | 150 +-
ui/public/locales/en.json | 101 +-
ui/public/locales/pt_BR.json | 8 +-
ui/public/locales/te.json | 8 +-
ui/src/components/view/DetailsTab.vue | 13 +
ui/src/components/view/ListView.vue | 2 +-
ui/src/composables/useServiceCapabilityParams.js | 19 +-
ui/src/config/section/compute.js | 93 +
ui/src/config/section/network.js | 1 +
ui/src/config/section/offering.js | 2 +-
ui/src/config/section/tools.js | 17 +-
ui/src/core/lazy_lib/icons_use.js | 4 +-
ui/src/store/modules/user.js | 155 +-
ui/src/utils/request.js | 12 +-
ui/src/utils/vmware.js | 41 +
.../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/infra/HostInfo.vue | 88 +-
.../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/tools/ImportUnmanagedInstance.vue | 346 ++-
ui/src/views/tools/ManageInstances.vue | 416 ++-
ui/src/views/tools/SelectVmwareVcenter.vue | 4 +-
ui/src/views/tools/VmwareCbtMigrations.vue | 493 ++++
ui/tests/unit/utils/vmware.spec.js | 51 +
utils/src/main/java/com/cloud/utils/DateUtil.java | 63 +-
.../src/main/java/com/cloud/utils/ReflectUtil.java | 4 +
.../test/java/com/cloud/utils/DateUtilTest.java | 113 +-
.../cloud/hypervisor/vmware/util/VmwareHelper.java | 59 +
409 files changed, 44562 insertions(+), 1419 deletions(-)
copy .github/workflows/{rat.yml => asf-allowlist-check.yml} (53%)
create mode 100644 .mvn/develocity.xml
create mode 100644 .mvn/extensions.xml
copy
api/src/main/java/{org/apache/cloudstack/api/command/utils/OfferingUtils.java
=> com/cloud/agent/api/to/VmwareCbtChangedBlockRangeTO.java} (52%)
create mode 100644
api/src/main/java/com/cloud/agent/api/to/VmwareCbtDiskSyncResultTO.java
create mode 100644
api/src/main/java/com/cloud/agent/api/to/VmwareCbtDiskTO.java
copy
api/src/main/java/{org/apache/cloudstack/api/command/utils/OfferingUtils.java
=> com/cloud/agent/api/to/VmwareVddkSourceDiskTO.java} (50%)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/vm/CancelVmwareCbtMigrationCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/vm/CheckVmwareCbtMigrationPrerequisitesCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/vm/CutoverVmwareCbtMigrationCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/vm/DeleteVmwareCbtMigrationCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/vm/ListVmwareCbtMigrationsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/vm/StartVmwareCbtMigrationCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/admin/vm/SyncVmwareCbtMigrationCmd.java
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
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VmwareCbtMigrationCycleResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VmwareCbtMigrationDiskResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VmwareCbtMigrationPreflightDiskResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VmwareCbtMigrationPreflightFindingResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VmwareCbtMigrationPreflightResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/VmwareCbtMigrationResponse.java
copy
api/src/main/java/org/apache/cloudstack/{api/command/utils/OfferingUtils.java
=> vm/VmwareCbtChangedBlockInfo.java} (52%)
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtChangedDiskInfo.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtDiskInfo.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtMigration.java
copy
api/src/main/java/org/apache/cloudstack/{api/command/utils/OfferingUtils.java
=> vm/VmwareCbtMigrationCycle.java} (51%)
copy
api/src/main/java/org/apache/cloudstack/{api/command/utils/OfferingUtils.java
=> vm/VmwareCbtMigrationDisk.java} (51%)
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtMigrationManager.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtMigrationService.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtPreflightDiskInfo.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtPreflightInfo.java
create mode 100644
api/src/main/java/org/apache/cloudstack/vm/VmwareCbtPreflightNicInfo.java
copy
api/src/main/java/org/apache/cloudstack/{api/command/utils/OfferingUtils.java
=> vm/VmwareCbtSnapshotInfo.java} (52%)
copy
api/src/main/java/org/apache/cloudstack/{api/command/utils/OfferingUtils.java
=> vm/bootgroup/InstanceBootGroup.java} (51%)
copy
api/src/main/java/org/apache/cloudstack/{api/command/utils/OfferingUtils.java
=> vm/bootgroup/InstanceBootGroupMember.java} (52%)
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
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
core/src/main/java/com/cloud/agent/api/CheckGuestAgentLivenessAnswer.java (52%)
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
core/src/main/java/com/cloud/agent/api/CheckGuestAgentLivenessCommand.java (52%)
create mode 100644
core/src/main/java/com/cloud/agent/api/VmwareCbtCleanupCommand.java
create mode 100644
core/src/main/java/com/cloud/agent/api/VmwareCbtCutoverCommand.java
create mode 100644
core/src/main/java/com/cloud/agent/api/VmwareCbtMigrationAnswer.java
create mode 100644
core/src/main/java/com/cloud/agent/api/VmwareCbtPrepareCommand.java
create mode 100644
core/src/main/java/com/cloud/agent/api/VmwareCbtRbdProbeCommand.java
create mode 100644
core/src/main/java/com/cloud/agent/api/VmwareCbtSyncCommand.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
core/src/main/java/com/cloud/agent/api/to/VmwareCbtTargetStorageType.java (50%)
create mode 100644
core/src/main/java/com/cloud/agent/transport/compat/AbstractTOAdaptor.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
core/src/main/java/com/cloud/agent/transport/compat/DiskTOAdaptor.java (51%)
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
core/src/main/java/com/cloud/agent/transport/compat/MigrateCommandAdaptor.java
(51%)
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
core/src/main/java/com/cloud/agent/transport/compat/NetworkTOAdaptor.java (51%)
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
core/src/main/java/com/cloud/agent/transport/compat/VirtualMachineTOAdaptor.java
(51%)
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
create mode 100644 docs/vmware-cbt-migration.md
create mode 100644 docs/vmware-cbt/README.md
create mode 100644 docs/vmware-cbt/architecture.md
create mode 100644 docs/vmware-linstor-migration.md
create mode 100644
engine/schema/src/main/java/com/cloud/vm/VmwareCbtMigrationCycleVO.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/VmwareCbtMigrationDiskVO.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/VmwareCbtMigrationVO.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDao.java (51%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDaoImpl.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupDetailsDao.java
(51%)
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
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDetailsDao.java
(51%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/InstanceBootGroupReadinessRuleDetailsDaoImpl.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
engine/schema/src/main/java/com/cloud/vm/dao/VmwareCbtMigrationCycleDao.java
(51%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/VmwareCbtMigrationCycleDaoImpl.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/VmwareCbtMigrationDao.java
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/VmwareCbtMigrationDaoImpl.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
engine/schema/src/main/java/com/cloud/vm/dao/VmwareCbtMigrationDiskDao.java
(51%)
create mode 100644
engine/schema/src/main/java/com/cloud/vm/dao/VmwareCbtMigrationDiskDaoImpl.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
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupVO.java
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/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
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/resource/wrapper/LibvirtVmwareCbtCleanupCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtCutoverCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtPrepareCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtRbdProbeCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtSyncCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/VmwareCbtCommandOutputLogger.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/VmwareCbtCommandResult.java
(54%)
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/VmwareCbtSyncPlan.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/LibvirtCheckVolumeCommandWrapperTest.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/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtCleanupCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtCutoverCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtPrepareCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtRbdProbeCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtVmwareCbtSyncCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/VmwareCbtSyncPlanTest.java
create mode 100644
plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareCbtMigrationServiceImpl.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/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
server/src/main/java/com/cloud/api/query/dao/TemplateListFilter.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
server/src/main/java/org/apache/cloudstack/api/query/dao/InstanceBootGroupJoinDao.java
(51%)
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
server/src/main/java/org/apache/cloudstack/api/query/dao/InstanceBootGroupJoinDaoImpl.java
(51%)
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/VmwareCbtMigrationCutoverPolicy.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/VmwareCbtMigrationManagerImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/VmwareCbtStorageTarget.java
create mode 100644
server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupApiServiceImpl.java
copy
api/src/main/java/org/apache/cloudstack/api/command/utils/OfferingUtils.java =>
server/src/main/java/org/apache/cloudstack/vm/bootgroup/InstanceBootGroupManager.java
(51%)
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/VmwareCbtMigrationCutoverPolicyTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/VmwareCbtMigrationDeletePolicyTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/VmwareCbtMigrationImportTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/VmwareCbtMigrationNicValidationTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/VmwareCbtMigrationOfferingValidationTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/vm/VmwareCbtStorageTargetTest.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/TestCsBgpPeers.py
create mode 100644 systemvm/test/TestCsForwardingRules.py
create mode 100644 systemvm/test/frr-bgppeers-ipv4-ipv6.conf
create mode 100644 test/integration/smoke/test_instance_boot_group.py
create mode 100644 ui/src/utils/vmware.js
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/src/views/tools/VmwareCbtMigrations.vue
create mode 100644 ui/tests/unit/utils/vmware.spec.js