This is an automated email from the ASF dual-hosted git repository.
DaanHoogland pushed a change to branch healthcheck-main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
discard 887012c4810 24/main Health Check, please don't merge this!
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 73c5959d1ed 24/main Health Check, please don't merge this!
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 (887012c4810)
\
N -- N -- N refs/heads/healthcheck-main (73c5959d1ed)
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:
.github/workflows/build.yml | 2 +
.github/workflows/ci.yml | 8 +
.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 +
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/storage/CreateStoragePoolCmd.java | 6 +-
.../admin/storage/UpdateStoragePoolCmd.java | 12 +-
.../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 | 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 +-
...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 +
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/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/TestCsForwardingRules.py | 63 +
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 +
400 files changed, 44162 insertions(+), 1379 deletions(-)
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/TestCsForwardingRules.py
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