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