You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ha...@apache.org on 2022/04/18 12:04:41 UTC

[cloudstack] branch UserDataAsFirstClassResource updated (abe6dce2cbe -> 787c9637383)

This is an automated email from the ASF dual-hosted git repository.

harikrishna pushed a change to branch UserDataAsFirstClassResource
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


 discard abe6dce2cbe Updated template response and views
 discard e0ae52af937 Write userdata details into metadata VR
 discard 4ebb37728ba Added userdata details to the deployVM cmd flow
 discard 45dffc951fc UI: added a new section for userdata
 discard d661b393e03 Fixed userdata append scenario between template userdata and user provided userdata
 discard c71df7ffdd8 Added userdata id in deploy VM flow
 discard 850d38a0cd4 Few fixes
 discard 0d9b1e8ec0b UserData as first clas resource
     add 960513aa972 test: update test_kubernetes_clusters.py to support advanced zone with security groups (#6183)
     add 1c8d8cdef22 ui: Fix label for LUN number (#6204)
     add 7e6d1f1f851 ui: fix acl rules listing (#6206)
     add a66dee43742 .asf.yaml: introduce new .asf.yaml file
     add e4b6992def4 server: fix list reserved/free public ips in project (#6198)
     add 47454eca7dc VR: add '-m <protocol>' for tcp or udp protocol (#6188)
     add c61ea9f96d2 VR: Do not add iptables rules for the revoked ip addresses (#6189)
     add 306baea228d Merge branch '4.16'
     add 9cc8da2a302 api: Update account type when updating account role (#6156)
     add ca8782b703a api: add vpcname to networkacl response (#6207)
     add 4193109c1d1 ui: Logout before login (#6193)
     add e65825c4a1d .asf.yaml: dummy fix to re-kick asf-infra integration (#6210)
     add 553809b4d65 [Infra] testing adding myself as collaborator
     add 0cb949451ab [infra] adding back original collaborator
     add 133b1956888 Probot integrations (#6211)
     add afc819e5c8e Added new field to updateBackupOffering API. (#6190)
     add 9a8c7b1a8ce .github: fix first PR welcome message by boring-cyborg (#6217)
     add 1500e1f70c6 .github: add merge conflict checker per RM request (#6221)
     add 2b1c4fbe6e6 .github: fix workflow settings and allow branch pushes to main by committers (#6225)
     add 68fa9a10613 Allow storage.overprovisioning.factor to be <1 which allows underprovisioning of storage pools (#6218)
     add 676fe31ca93 UI: Fixes removing undesired API parameters on form submit (#6196)
     add 1cdacccdc0e maven: support JaCoCo and other quality checks (#6228)
     add 5630ca4411d .github: update action tag as per https://issues.apache.org/jira/browse/INFRA-23109
     add 6bf812cdc93 .github: fix github action workflows
     add daa7bdb0461 upgrade: update minreq.sysvmtemplate.version to the latest template  version (#6227)
     add c1c381fcd16 api: Prevent modifying acl rules order for default ACLs (#6187)
     add 2b075ed39e2 Storage-based Snapshots for KVM VMs (#3724)
     add d2aa13fd784 Display proper gateway length in health check result (#6226)
     add c8ce6c04965 ui: Project owner (normal user) unable to perform any operations in the project (#6233)
     add 4c89f08ebfa .github: fix github event/pr username for conflict msg advice
     add e7071ec1964 server: increment deviceid while importing vm data volumes (#6123)
     add 5b617ba3ff4 Merge remote-tracking branch 'origin/4.16'
     add 8add4df0faa .github: fix github actions error
     add e0ce0228cc0 ui: Fix Add secondary storage (#6241)
     add ee2ded82001 potential null pointer in condition; AYAI9l8k5Irk9_td-cXb (#6237)
     add 1b46635947b Merge remote-tracking branch 'origin/4.16' into main
     add 16f2896940c Persistence of VM stats (#5984)
     add 5eb2b693e90 fixes login button not work and Single Sign-On tab disabled after logout (#6197)
     add b6072fc826e Allow expunging a VM on a deleted host when using host cache and ConfigDrive userdata service (#6234)
     add ed550027955 Merge branch '4.16'
     add 63a9da95486 ui: use different icon labe for releaseIpAddress action (#6235)
     add 177f04839c2 UI: Fix protocol reset after changing provider on Add Primary Storage (#6243)
     add 5435b0abfe4 Direct download certificates additions and improvements (#6104)
     add 431c352a6d9 Synchronization of network devices on newly added hosts for Persistent Networks (#5977)
     add 72f13a6cea9 .github: fix incorrect tagging of PR author
     add 39fad2d9d75 KVM disk-only based snapshot of volumes instead of taking VM's full snapshot and extracting disks (#5297)
     add 6ec013718a0 ui: Fix uploadCustomCertificate form in infraSummary view (#6248)
     add 19a7774cab3 VR: add rules for traffic between static nat and private gateway static routes (#6153)
     add 7e8db7cece6 Merge branch '4.16'
     add daa13af6266 UI: fix icon user-delete-outlined for release dedicated public ip range (#6255)
     add 91a5f0e285c server: honor global setting system.vm.default.hypervisor as first option when deploy VRs (#6160)
     add 67002b67ecb Merge branch '4.16'
     add 42a92dcdd36 Extract the IO_URING configuration into the agent.properties (#6253)
     add 65dc2df8965 Merge branch '4.16'
     add 61409030046 local versions of .env ignored (#6256)
     add fc31b527b19 maven: upgrade to latest spring-framework release (#6250)
     add c7941278f7f Allow creating snapshot from VM snapshot (#4739)
     add fbf77978e1f Fix: Allow disabling the login attempts mechanism for disabling users (#6254)
     add 3674aff4d4d Merge branch '4.16'
     add b4ac98efa3b ui: Display action buttons in Project Accounts Tab view if project Admin (#6257)
     add 08bfb4444a6 ui: Add project switch to the Kubernetes tab (#6260)
     add bbb4ffa5935 UI: fix dedicate public ip range to domain (#6258)
     add a1fb44e41f8 Merge branch '4.16'
     add 05c907b3a86 ui: Allow editing VM and template settings (#6262)
     add cd24cf2daab .github: improve coverage run (#6238)
     add 9067938a0df .github: try kicking coverage via pull_request_target sync
     add 4004dfcfd8b StorPool storage plugin (#6007)
     add aa0197c1416 kvm: truncate vnc password to 8 chars (#6244)
     add fecc5254de4 ui: fixes style ui issues (#6261)
     add 50b2dc2789c server: Fix #6263 Cannot scale VM with custom offering (#6267)
     add cfa4f339405 .github/linters: Enable flake8 W293 blank line contains whitespace (#6268)
     add 2dcdc561151 .github: run coverage on pull request (#6265)
     add 3ac91aa452c pom: add sonar project properties
     add c265df965e9 Fix spelling (#6185)
     add dcb9143330a .github: use pull_request_target which has access to token
     add 023305e86d5 .github: fetch all history for comparing PR changes
     add 976464ccb9f .github: enable fork-point while finding list of changes files
     add 14dd467a435 ui: Incorrect column key specified in secondary store column filter (#6275)
     add b2086595cae .github: debug github event
     add 1b2461b2000 .github: debug github event using env variable
     add cc139464f3a .github: use event specific sha and base_sha for comparing changes
     add 15928f8cc89 .github: detect and kick packaging jobs
     add 70122007bb1 Updated SAML2 auth sessionkey cookie path (#6149)
     add 3b819d45182 UserData as first clas resource
     add 3607d45f860 Few fixes
     add 123f50ae2bf Added userdata id in deploy VM flow
     add 8af7e514393 Fixed userdata append scenario between template userdata and user provided userdata
     add 7a5ad62f214 UI: added a new section for userdata
     add e274928aa1c Added userdata details to the deployVM cmd flow
     add 4c827bea8b4 Write userdata details into metadata VR
     add 003cedbda96 Updated template response and views
     add ff9326c83ca UI: added userdata id to deloyvm wizard
     add 787c9637383 Added userdata list to deploy VM form

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   (abe6dce2cbe)
            \
             N -- N -- N   refs/heads/UserDataAsFirstClassResource (787c9637383)

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:
 ui/.gitignore => .asf.yaml                         |   48 +-
 .github/boring-cyborg.yml                          |  221 ++
 .github/linters/.flake8                            |    2 +-
 .github/workflows/coverage-check.yml               |  105 +
 .github/workflows/linter.yml                       |    7 +-
 .../{linter.yml => merge-conflict-checker.yml}     |   24 +-
 agent/conf/agent.properties                        |    3 +
 .../cloud/agent/properties/AgentProperties.java    |    7 +
 .../com/cloud/agent/api/storage/OVFParser.java     |    2 +-
 api/src/main/java/com/cloud/storage/Snapshot.java  |    2 +-
 .../cloud/storage/snapshot/SnapshotApiService.java |    4 +
 .../org/apache/cloudstack/api/ApiArgValidator.java |   16 +-
 .../org/apache/cloudstack/api/ApiConstants.java    |    9 +
 .../apache/cloudstack/api/ResponseGenerator.java   |   13 +
 .../admin/backup/UpdateBackupOfferingCmd.java      |   16 +-
 .../ListTemplateDirectDownloadCertificatesCmd.java |  110 +
 ...isionTemplateDirectDownloadCertificateCmd.java} |   58 +-
 ...RevokeTemplateDirectDownloadCertificateCmd.java |   72 +-
 ...UploadTemplateDirectDownloadCertificateCmd.java |   44 +-
 .../api/command/user/vm/DeployVMCmd.java           |    2 +-
 .../cloudstack/api/command/user/vm/ListVMsCmd.java |    9 +
 ...irectDownloadCertificateHostStatusResponse.java |   73 +
 .../DirectDownloadCertificateResponse.java         |  162 ++
 .../api/response/NetworkACLResponse.java           |    8 +
 .../cloudstack/api/response/StatsResponse.java     |  147 ++
 .../direct/download/DirectDownloadCertificate.java |    1 +
 ....java => DirectDownloadCertificateHostMap.java} |   13 +-
 .../direct/download/DirectDownloadManager.java     |   60 +-
 .../cloudstack/api/response/StatsResponseTest.java |  135 ++
 client/pom.xml                                     |   38 +
 .../cloud/agent/api/FreezeThawVMAnswer.java}       |   23 +-
 .../cloud/agent/api/FreezeThawVMCommand.java}      |   40 +-
 .../java/com/cloud/agent/api/VmStatsEntry.java     |  159 +-
 .../{VmStatsEntry.java => VmStatsEntryBase.java}   |   66 +-
 .../cloudstack/storage/command/CopyCmdAnswer.java  |    5 +
 .../storage/command/RevertSnapshotCommand.java     |    8 +-
 debian/rules                                       |    1 +
 .../api/storage/HypervisorHostListener.java        |    2 +
 .../api/storage/PrimaryDataStoreDriver.java        |   29 +
 .../subsystem/api/storage/SnapshotDataFactory.java |    2 +
 .../api/storage/StorageStrategyFactory.java        |    8 +
 .../subsystem/api/storage/VMSnapshotStrategy.java  |    8 +
 .../java/com/cloud/storage/StorageManager.java     |    2 +
 .../java/com/cloud/agent/manager/AgentAttache.java |    4 +-
 .../agent/manager/ClusteredAgentManagerImpl.java   |    6 +-
 .../engine/orchestration/NetworkOrchestrator.java  |  241 +--
 .../engine/orchestration/VolumeOrchestrator.java   |   86 +-
 .../cloud/vm/VirtualMachineManagerImplTest.java    |    7 +-
 .../java/com/cloud/network/dao/NetworkDao.java     |    2 +
 .../java/com/cloud/network/dao/NetworkDaoImpl.java |   10 +
 .../main/java/com/cloud/storage/SnapshotVO.java    |   10 +
 .../java/com/cloud/storage/dao/SnapshotDao.java    |    6 +
 .../com/cloud/storage/dao/SnapshotDaoImpl.java     |   11 +
 .../com/cloud/upgrade/dao/Upgrade41610to41700.java |    2 +-
 .../src/main/java/com/cloud/vm/VmStatsVO.java      |   87 +
 .../src/main/java/com/cloud/vm/dao/VmStatsDao.java |   82 +
 .../main/java/com/cloud/vm/dao/VmStatsDaoImpl.java |  122 ++
 .../DirectDownloadCertificateHostMapDao.java       |    1 +
 .../DirectDownloadCertificateHostMapDaoImpl.java   |    9 +
 .../DirectDownloadCertificateHostMapVO.java        |   16 +-
 .../storage/datastore/db/SnapshotDataStoreDao.java |   11 +
 .../spring-engine-schema-core-daos-context.xml     |    1 +
 .../main/resources/META-INF/db/schema-2214to30.sql |    4 +-
 .../main/resources/META-INF/db/schema-227to228.sql |    4 +-
 .../main/resources/META-INF/db/schema-302to40.sql  |    2 +-
 .../main/resources/META-INF/db/schema-307to410.sql |   14 +-
 .../main/resources/META-INF/db/schema-40to410.sql  |    8 +-
 .../main/resources/META-INF/db/schema-410to420.sql |    2 +-
 .../resources/META-INF/db/schema-41610to41700.sql  |   13 +
 .../main/resources/META-INF/db/schema-442to450.sql |    2 +-
 .../main/resources/META-INF/db/schema-452to460.sql |    2 +-
 .../storage/motion/AncientDataMotionStrategy.java  |    3 +
 .../storage/snapshot/DefaultSnapshotStrategy.java  |  221 +-
 .../storage/snapshot/SnapshotDataFactoryImpl.java  |   10 +-
 .../vmsnapshot/DefaultVMSnapshotStrategy.java      |   22 +-
 .../vmsnapshot/ScaleIOVMSnapshotStrategy.java      |   30 +
 .../vmsnapshot/StorageVMSnapshotStrategy.java      |  481 +++++
 ...ing-engine-storage-snapshot-storage-context.xml |    3 +
 .../snapshot/DefaultSnapshotStrategyTest.java      |  162 ++
 .../vmsnapshot/VMSnapshotStrategyKVMTest.java      |  436 ++++
 .../storage/helper/StorageStrategyFactoryImpl.java |   10 +
 .../storage/image/db/SnapshotDataStoreDaoImpl.java |   47 +-
 .../image/db/SnapshotDataStoreDaoImplTest.java     |   77 +
 .../datastore/provider/DefaultHostListener.java    |  105 +-
 framework/direct-download/pom.xml                  |    8 +
 .../direct/download/DirectDownloadService.java     |    9 +-
 packaging/centos7/cloud.spec                       |    1 +
 packaging/centos8/cloud.spec                       |    1 +
 packaging/suse15/cloud.spec                        |    1 +
 .../kvm/resource/LibvirtComputingResource.java     |    4 +-
 .../hypervisor/kvm/resource/LibvirtVMDef.java      |    2 +-
 .../wrapper/LibvirtFreezeThawVMCommandWrapper.java |  103 +
 .../LibvirtRevertSnapshotCommandWrapper.java       |  123 +-
 .../resource/wrapper/LibvirtUtilitiesHelper.java   |   35 +
 .../kvm/storage/IscsiAdmStorageAdaptor.java        |   10 +-
 .../kvm/storage/IscsiAdmStoragePool.java           |    8 +
 .../kvm/storage/KVMStoragePoolManager.java         |    5 -
 .../kvm/storage/KVMStorageProcessor.java           |  453 +++-
 .../kvm/storage/LibvirtStorageAdaptor.java         |   45 +-
 .../hypervisor/kvm/storage/LibvirtStoragePool.java |    9 +-
 .../kvm/storage/LinstorStorageAdaptor.java         |   20 +-
 .../kvm/storage/ManagedNfsStorageAdaptor.java      |   10 +-
 .../kvm/storage/ScaleIOStorageAdaptor.java         |   11 +-
 .../hypervisor/kvm/storage/StorageAdaptor.java     |    4 +-
 .../apache/cloudstack/utils/qemu/QemuCommand.java  |   51 +
 .../org/apache/cloudstack/utils/qemu/QemuImg.java  |   45 +-
 .../kvm/resource/LibvirtComputingResourceTest.java |    3 +-
 .../LibvirtRevertSnapshotCommandWrapperTest.java   |  170 ++
 .../wrapper/LibvirtUtilitiesHelperTest.java        |   71 +-
 .../kvm/storage/KVMStorageProcessorTest.java       |  265 ++-
 .../cloudstack/utils/linux/KVMHostInfoTest.java    |    6 +
 .../com/cloud/agent/manager/MockVmManagerImpl.java |    2 +-
 .../vmware/manager/VmwareManagerImpl.java          |    2 +-
 .../hypervisor/vmware/resource/VmwareResource.java |    8 +-
 .../storage/resource/VmwareStorageProcessor.java   |    2 +-
 .../xenserver/resource/CitrixResourceBase.java     |    2 +-
 .../apache/cloudstack/api/ListVMsMetricsCmd.java   |   14 +
 .../cloudstack/api/ListVMsUsageHistoryCmd.java     |  100 +
 .../apache/cloudstack/metrics/MetricsService.java  |    5 +
 .../cloudstack/metrics/MetricsServiceImpl.java     |  201 +-
 .../response/VmMetricsStatsResponse.java           |   45 +-
 .../cloudstack/metrics/MetricsServiceImplTest.java |  314 +++
 .../resource/NetScalerControlCenterResource.java   |    2 +-
 .../cloud/network/resource/NetscalerResource.java  |    2 +-
 plugins/pom.xml                                    |    4 +-
 .../datastore/provider/ElastistorHostListener.java |    5 +
 .../driver/DateraPrimaryDataStoreDriver.java       |   18 +
 .../datastore/provider/DateraHostListener.java     |    5 +
 .../CloudStackPrimaryDataStoreDriverImpl.java      |   21 +-
 .../driver/LinstorPrimaryDataStoreDriverImpl.java  |   18 +
 .../driver/NexentaPrimaryDataStoreDriver.java      |   18 +
 .../datastore/provider/NexentaHostListener.java    |    5 +
 .../driver/SamplePrimaryDataStoreDriverImpl.java   |   18 +
 .../driver/ScaleIOPrimaryDataStoreDriver.java      |   18 +
 .../datastore/provider/ScaleIOHostListener.java    |    5 +
 .../driver/SolidFirePrimaryDataStoreDriver.java    |   18 +
 .../datastore/provider/SolidFireHostListener.java  |    5 +
 .../provider/SolidFireSharedHostListener.java      |    5 +
 plugins/storage/volume/storpool/README.md          |  344 ++++
 plugins/storage/volume/storpool/pom.xml            |   68 +
 .../api/storage/StorPoolBackupSnapshotCommand.java |   17 +-
 .../StorPoolBackupTemplateFromSnapshotCommand.java |   17 +-
 .../agent/api/storage/StorPoolCopyCommand.java     |   60 +
 .../StorPoolCopyVolumeToSecondaryCommand.java      |   17 +-
 .../storage/StorPoolDownloadTemplateCommand.java   |   23 +-
 .../api/storage/StorPoolDownloadVolumeCommand.java |   17 +-
 .../storage/StorPoolMigrateWithVolumesCommand.java |   55 +
 .../storage/StorPoolModifyStoragePoolAnswer.java   |   94 +
 .../storage/StorPoolModifyStoragePoolCommand.java  |   21 +-
 .../api/storage/StorPoolResizeVolumeCommand.java   |   26 +-
 .../StorPoolBackupSnapshotCommandWrapper.java      |  109 +
 ...olBackupTemplateFromSnapshotCommandWrapper.java |  161 ++
 ...torPoolCopyVolumeToSecondaryCommandWrapper.java |  124 ++
 .../StorPoolDownloadTemplateCommandWrapper.java    |  134 ++
 .../StorPoolDownloadVolumeCommandWrapper.java      |  162 ++
 .../StorPoolModifyStorageCommandWrapper.java       |  146 ++
 .../StorPoolResizeVolumeCommandWrapper.java        |   98 +
 .../kvm/storage/StorPoolStorageAdaptor.java        |  388 ++++
 .../kvm/storage/StorPoolStoragePool.java}          |   75 +-
 .../collector/StorPoolAbandonObjectsCollector.java |  323 +++
 .../driver/StorPoolPrimaryDataStoreDriver.java     |  976 +++++++++
 .../StorPoolPrimaryDataStoreLifeCycle.java         |  321 +++
 .../datastore/provider/StorPoolHostListener.java   |  234 +++
 .../provider/StorPoolPrimaryDataStoreProvider.java |   78 +
 .../datastore/util/StorPoolFeaturesAndFixes.java   |   29 +-
 .../storage/datastore/util/StorPoolHelper.java     |  298 +++
 .../storage/datastore/util/StorPoolUtil.java       |  609 ++++++
 .../storage/motion/StorPoolDataMotionStrategy.java |  575 ++++++
 .../snapshot/StorPoolConfigurationManager.java     |   46 +
 .../storage/snapshot/StorPoolSnapshotStrategy.java |  289 +++
 .../snapshot/StorPoolVMSnapshotStrategy.java       |  387 ++++
 .../storage-volume-storpool/module.properties      |    5 +-
 .../spring-storage-volume-storpool-context.xml     |   38 +
 .../java/org/apache/cloudstack/saml/SAMLUtils.java |    2 +-
 pom.xml                                            |   10 +-
 scripts/storage/qcow2/get_domr_kernel.sh           |    2 +-
 scripts/storage/qcow2/managesnapshot.sh            |   28 +-
 server/src/main/java/com/cloud/api/ApiDBUtils.java |   10 +-
 .../main/java/com/cloud/api/ApiResponseHelper.java |   89 +
 .../com/cloud/api/dispatch/ParamProcessWorker.java |   65 +-
 .../java/com/cloud/api/query/QueryManagerImpl.java |    2 +-
 .../com/cloud/api/query/ViewResponseHelper.java    |   10 +-
 .../com/cloud/api/query/dao/UserVmJoinDao.java     |    2 +-
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |    4 +-
 .../main/java/com/cloud/configuration/Config.java  |    2 +-
 .../configuration/ConfigurationManagerImpl.java    |    4 +-
 .../network/element/ConfigDriveNetworkElement.java |    6 +
 .../cloud/network/router/NetworkHelperImpl.java    |   14 +-
 .../cloud/network/vpc/NetworkACLServiceImpl.java   |    3 +
 .../com/cloud/resource/ResourceManagerImpl.java    |    7 +
 .../com/cloud/server/ManagementServerImpl.java     |   23 +-
 .../main/java/com/cloud/server/StatsCollector.java |  216 +-
 .../java/com/cloud/storage/StorageManagerImpl.java |   26 +-
 .../com/cloud/storage/VolumeApiServiceImpl.java    |   55 +-
 .../cloud/storage/snapshot/SnapshotManager.java    |    2 +
 .../storage/snapshot/SnapshotManagerImpl.java      |   71 +-
 .../com/cloud/tags/TaggedResourceManagerImpl.java  |   32 +-
 .../com/cloud/template/TemplateManagerImpl.java    |   37 +-
 .../java/com/cloud/user/AccountManagerImpl.java    |   43 +-
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  |   21 +-
 .../cloud/vm/snapshot/VMSnapshotManagerImpl.java   |   61 +-
 .../cloudstack/backup/BackupManagerImpl.java       |   14 +-
 .../direct/download/DirectDownloadManagerImpl.java |  217 +-
 .../apache/cloudstack/snapshot/SnapshotHelper.java |  255 +++
 .../cloudstack/vm/UnmanagedVMsManagerImpl.java     |    4 +-
 .../core/spring-server-core-managers-context.xml   |    2 +
 .../java/com/cloud/api/ApiResponseHelperTest.java  |   43 +
 .../java/com/cloud/server/StatsCollectorTest.java  |  153 +-
 .../cloud/storage/VolumeApiServiceImplTest.java    |   44 +
 .../storage/snapshot/SnapshotManagerTest.java      |    7 +
 .../cloud/template/TemplateManagerImplTest.java    |   12 +
 .../com/cloud/user/AccountManagerImplTest.java     |   27 +
 .../AccountManagerImplVolumeDeleteEventTest.java   |    6 +-
 .../java/com/cloud/vpc/dao/MockNetworkDaoImpl.java |    5 +
 .../cloudstack/backup/BackupManagerTest.java       |   37 +-
 .../cloudstack/snapshot/SnapshotHelperTest.java    |  302 +++
 services/console-proxy/rdpconsole/pom.xml          |    2 +-
 .../main/java/common/adapter/AwtBellAdapter.java   |    2 +-
 .../src/main/java/common/asn1/Sequence.java        |    4 +-
 .../rdpclient/ntlmssp/ClientNtlmsspPubKeyAuth.java |    2 +-
 .../java/rdpclient/rdp/ServerDemandActivePDU.java  |    2 +-
 .../rdp/ServerMCSAttachUserConfirmPDU.java         |    2 +-
 .../main/java/rdpclient/rdp/ServerX224DataPdu.java |    4 +-
 .../src/main/java/streamer/BaseElement.java        |    4 +-
 .../src/main/java/streamer/DataSource.java         |    2 +-
 .../src/main/java/streamer/InputStreamSource.java  |    2 +-
 .../src/main/java/streamer/OutputStreamSink.java   |    2 +-
 .../src/main/java/streamer/PipelineImpl.java       |    2 +-
 .../rdpconsole/src/main/java/streamer/Queue.java   |    4 +-
 .../src/main/java/streamer/SyncLink.java           |    4 +-
 .../src/main/java/streamer/apr/AprSocketSink.java  |    2 +-
 .../main/java/streamer/apr/AprSocketSource.java    |    2 +-
 .../src/main/java/streamer/debug/FakeSource.java   |    4 +-
 .../src/main/java/streamer/debug/MockServer.java   |    2 +-
 .../java/com/cloud/consoleproxy/ConsoleProxy.java  |    6 +-
 .../ConsoleProxyHttpHandlerHelper.java             |    2 +-
 .../PremiumSecondaryStorageManagerImpl.java        |    2 +-
 .../SecondaryStorageManagerImpl.java               |    2 +-
 .../resource/NfsSecondaryStorageResource.java      |    2 +-
 setup/db/create-schema.sql                         |   10 +-
 systemvm/agent/noVNC/core/rfb.js                   |    2 +-
 systemvm/debian/opt/cloud/bin/configure.py         |   19 +
 systemvm/debian/opt/cloud/bin/cs/CsAddress.py      |    2 +-
 systemvm/debian/opt/cloud/bin/setup/common.sh      |    2 +-
 .../debian/root/health_checks/gateways_check.py    |    2 +-
 .../component/maint/test_redundant_router.py       |    6 +-
 .../component/test_persistent_networks.py          |  168 +-
 .../plugins/storpool/MigrateVolumeToStorPool.py    |  439 ++++
 .../plugins/storpool/TestStorPoolVolumes.py        | 2153 ++++++++++++++++++++
 .../plugins/storpool/TestTagsOnStorPool.py         |  576 ++++++
 .../plugins/storpool/TestVmSnapshots.py            |  369 ++++
 test/integration/plugins/storpool/sp_util.py       |  748 +++++++
 test/integration/smoke/test_direct_download.py     |   14 +-
 test/integration/smoke/test_kubernetes_clusters.py |   18 +
 test/integration/smoke/test_vm_snapshot_kvm.py     |  326 +++
 ui/.gitignore                                      |    2 +
 ui/public/locales/en.json                          |    4 +
 ui/src/api/index.js                                |    7 +-
 ui/src/components/header/ProjectMenu.vue           |   20 +-
 ui/src/components/view/ActionButton.vue            |   16 +-
 ui/src/components/view/DetailSettings.vue          |    9 +-
 ui/src/components/view/ListView.vue                |    4 +-
 ui/src/config/section/compute.js                   |    7 +
 ui/src/config/section/network.js                   |    6 +-
 ui/src/core/lazy_lib/icons_use.js                  |    4 +
 ui/src/store/getters.js                            |    3 +-
 ui/src/store/modules/user.js                       |    8 +-
 ui/src/style/dark-mode.less                        |    6 +-
 ui/src/utils/mixin.js                              |   18 +-
 ui/src/utils/request.js                            |    3 +
 ui/src/views/AutogenView.vue                       |    6 +-
 ui/src/views/auth/Login.vue                        |   26 +-
 ui/src/views/compute/CreateKubernetesCluster.vue   |    5 +-
 ui/src/views/compute/CreateSSHKeyPair.vue          |    5 +-
 ui/src/views/compute/CreateSnapshotWizard.vue      |    5 +-
 ui/src/views/compute/DeployVM.vue                  |   67 +-
 ui/src/views/compute/ScaleKubernetesCluster.vue    |    5 +-
 ui/src/views/compute/backup/FormSchedule.vue       |    5 +-
 ui/src/views/compute/wizard/UserDataSelection.vue  |  214 ++
 ui/src/views/dashboard/CapacityDashboard.vue       |   12 +-
 ui/src/views/dashboard/UsageDashboard.vue          |    2 +-
 ui/src/views/iam/CreateRole.vue                    |    5 +-
 ui/src/views/iam/RolePermissionTab.vue             |    2 +-
 ui/src/views/image/RegisterOrUploadIso.vue         |    5 +-
 ui/src/views/image/RegisterOrUploadTemplate.vue    |    9 +-
 ui/src/views/infra/AddPrimaryStorage.vue           |   11 +-
 ui/src/views/infra/AddSecondaryStorage.vue         |    7 +-
 ui/src/views/infra/HostAdd.vue                     |    5 +-
 ui/src/views/infra/InfraSummary.vue                |   12 +-
 ui/src/views/infra/network/IpRangesTabPublic.vue   |   13 +-
 ui/src/views/infra/zone/ZoneWizardAddResources.vue |    2 +-
 ui/src/views/network/AclListRulesTab.vue           |   10 +-
 ui/src/views/network/CreateIsolatedNetworkForm.vue |    5 +-
 ui/src/views/network/CreateL2NetworkForm.vue       |    5 +-
 ui/src/views/network/CreateSharedNetworkForm.vue   |    5 +-
 ui/src/views/network/CreateVpnCustomerGateway.vue  |    5 +-
 ui/src/views/network/LoadBalancing.vue             |    8 +-
 ui/src/views/network/UpdateNetwork.vue             |    5 +-
 ui/src/views/network/VpcTiersTab.vue               |    8 +-
 ui/src/views/offering/AddComputeOffering.vue       |    5 +-
 ui/src/views/offering/AddDiskOffering.vue          |    5 +-
 ui/src/views/offering/AddNetworkOffering.vue       |    5 +-
 ui/src/views/offering/AddVpcOffering.vue           |    5 +-
 ui/src/views/offering/UpdateOfferingAccess.vue     |    5 +-
 ui/src/views/project/AccountsTab.vue               |    2 +-
 ui/src/views/project/AddAccountOrUserToProject.vue |   10 +-
 ui/src/views/project/ProjectDetailsTab.vue         |    1 +
 ui/src/views/storage/ChangeOfferingForVolume.vue   |    5 +-
 ui/src/views/storage/CreateVolume.vue              |    5 +-
 ui/src/views/storage/FormSchedule.vue              |    5 +-
 ui/src/views/storage/ResizeVolume.vue              |    5 +-
 ui/src/views/storage/TakeSnapshot.vue              |    5 +-
 ui/src/views/storage/UploadLocalVolume.vue         |    5 +-
 ui/src/views/storage/UploadVolume.vue              |    5 +-
 314 files changed, 18767 insertions(+), 1623 deletions(-)
 copy ui/.gitignore => .asf.yaml (56%)
 create mode 100644 .github/boring-cyborg.yml
 create mode 100644 .github/workflows/coverage-check.yml
 copy .github/workflows/{linter.yml => merge-conflict-checker.yml} (60%)
 create mode 100644 api/src/main/java/org/apache/cloudstack/api/command/admin/direct/download/ListTemplateDirectDownloadCertificatesCmd.java
 copy api/src/main/java/org/apache/cloudstack/api/command/admin/direct/download/{RevokeTemplateDirectDownloadCertificateCmd.java => ProvisionTemplateDirectDownloadCertificateCmd.java} (52%)
 create mode 100644 api/src/main/java/org/apache/cloudstack/api/response/DirectDownloadCertificateHostStatusResponse.java
 create mode 100644 api/src/main/java/org/apache/cloudstack/api/response/DirectDownloadCertificateResponse.java
 create mode 100644 api/src/main/java/org/apache/cloudstack/api/response/StatsResponse.java
 copy api/src/main/java/org/apache/cloudstack/direct/download/{DirectDownloadCertificate.java => DirectDownloadCertificateHostMap.java} (77%)
 create mode 100644 api/src/test/java/org/apache/cloudstack/api/response/StatsResponseTest.java
 copy core/src/main/java/{org/apache/cloudstack/storage/command/CopyCmdAnswer.java => com/cloud/agent/api/FreezeThawVMAnswer.java} (64%)
 copy core/src/main/java/{org/apache/cloudstack/storage/command/CopyCmdAnswer.java => com/cloud/agent/api/FreezeThawVMCommand.java} (53%)
 copy core/src/main/java/com/cloud/agent/api/{VmStatsEntry.java => VmStatsEntryBase.java} (67%)
 create mode 100644 engine/schema/src/main/java/com/cloud/vm/VmStatsVO.java
 create mode 100644 engine/schema/src/main/java/com/cloud/vm/dao/VmStatsDao.java
 create mode 100644 engine/schema/src/main/java/com/cloud/vm/dao/VmStatsDaoImpl.java
 create mode 100644 engine/storage/snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot/StorageVMSnapshotStrategy.java
 create mode 100644 engine/storage/snapshot/src/test/java/org/apache/cloudstack/storage/snapshot/DefaultSnapshotStrategyTest.java
 create mode 100644 engine/storage/snapshot/src/test/java/org/apache/cloudstack/storage/vmsnapshot/VMSnapshotStrategyKVMTest.java
 create mode 100644 engine/storage/src/test/java/org/apache/cloudstack/storage/image/db/SnapshotDataStoreDaoImplTest.java
 create mode 100644 plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtFreezeThawVMCommandWrapper.java
 create mode 100644 plugins/hypervisors/kvm/src/main/java/org/apache/cloudstack/utils/qemu/QemuCommand.java
 create mode 100644 plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRevertSnapshotCommandWrapperTest.java
 create mode 100644 plugins/metrics/src/main/java/org/apache/cloudstack/api/ListVMsUsageHistoryCmd.java
 copy api/src/main/java/org/apache/cloudstack/api/response/NetworkACLResponse.java => plugins/metrics/src/main/java/org/apache/cloudstack/response/VmMetricsStatsResponse.java (53%)
 create mode 100644 plugins/metrics/src/test/java/org/apache/cloudstack/metrics/MetricsServiceImplTest.java
 create mode 100644 plugins/storage/volume/storpool/README.md
 create mode 100644 plugins/storage/volume/storpool/pom.xml
 copy engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/HypervisorHostListener.java => plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolBackupSnapshotCommand.java (64%)
 copy engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/HypervisorHostListener.java => plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolBackupTemplateFromSnapshotCommand.java (64%)
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolCopyCommand.java
 copy engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/HypervisorHostListener.java => plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolCopyVolumeToSecondaryCommand.java (64%)
 copy core/src/main/java/org/apache/cloudstack/storage/command/CopyCmdAnswer.java => plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolDownloadTemplateCommand.java (60%)
 copy engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/HypervisorHostListener.java => plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolDownloadVolumeCommand.java (65%)
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolMigrateWithVolumesCommand.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolModifyStoragePoolAnswer.java
 copy engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/HypervisorHostListener.java => plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolModifyStoragePoolCommand.java (63%)
 copy engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/SnapshotDataFactory.java => plugins/storage/volume/storpool/src/main/java/com/cloud/agent/api/storage/StorPoolResizeVolumeCommand.java (57%)
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/StorPoolBackupSnapshotCommandWrapper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/StorPoolBackupTemplateFromSnapshotCommandWrapper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/StorPoolCopyVolumeToSecondaryCommandWrapper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/StorPoolDownloadTemplateCommandWrapper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/StorPoolDownloadVolumeCommandWrapper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/StorPoolModifyStorageCommandWrapper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/StorPoolResizeVolumeCommandWrapper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/storage/StorPoolStorageAdaptor.java
 copy plugins/{hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/IscsiAdmStoragePool.java => storage/volume/storpool/src/main/java/com/cloud/hypervisor/kvm/storage/StorPoolStoragePool.java} (71%)
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/collector/StorPoolAbandonObjectsCollector.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/driver/StorPoolPrimaryDataStoreDriver.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle/StorPoolPrimaryDataStoreLifeCycle.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/provider/StorPoolHostListener.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/provider/StorPoolPrimaryDataStoreProvider.java
 copy engine/api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage/SnapshotDataFactory.java => plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/util/StorPoolFeaturesAndFixes.java (57%)
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/util/StorPoolHelper.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/datastore/util/StorPoolUtil.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/motion/StorPoolDataMotionStrategy.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/snapshot/StorPoolConfigurationManager.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/snapshot/StorPoolSnapshotStrategy.java
 create mode 100644 plugins/storage/volume/storpool/src/main/java/org/apache/cloudstack/storage/snapshot/StorPoolVMSnapshotStrategy.java
 copy .github/linters/.flake8 => plugins/storage/volume/storpool/src/main/resources/META-INF/cloudstack/storage-volume-storpool/module.properties (94%)
 create mode 100644 plugins/storage/volume/storpool/src/main/resources/META-INF/cloudstack/storage-volume-storpool/spring-storage-volume-storpool-context.xml
 create mode 100644 server/src/main/java/org/apache/cloudstack/snapshot/SnapshotHelper.java
 create mode 100644 server/src/test/java/org/apache/cloudstack/snapshot/SnapshotHelperTest.java
 create mode 100644 test/integration/plugins/storpool/MigrateVolumeToStorPool.py
 create mode 100644 test/integration/plugins/storpool/TestStorPoolVolumes.py
 create mode 100644 test/integration/plugins/storpool/TestTagsOnStorPool.py
 create mode 100644 test/integration/plugins/storpool/TestVmSnapshots.py
 create mode 100644 test/integration/plugins/storpool/sp_util.py
 create mode 100644 test/integration/smoke/test_vm_snapshot_kvm.py
 create mode 100644 ui/src/views/compute/wizard/UserDataSelection.vue