This is an automated email from the ASF dual-hosted git repository.
DaanHoogland pushed a change to branch ghi12316-storageManagerTechDebt
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from 7864f0d5fbe Deal with Storage Manager tech debt
add 8225668688d Fix QEMU convert command timeout for incremental snapshots
(#13212)
add 63c142be261 KVM: fix LUKS/volume-encryption detection for qemu-img >=
10.1.0 (#13587)
add ec2d3ea1e6d Fix `findHostsForMigration` never returning hosts from
other clusters (#13452)
add e8df87e89be flasharray: authenticate via REST 2.x api-token and
discover API version (#13060)
add 76a4bc8c9de Merge remote-tracking branch 'apache/4.20' into 4.22
add 17e5947a6d2 server: add removed Tests for listHostsForMigrationOfVM
and fix test failures
add fe3df6b660d Merge branch '4.22' into 'main'
add 24fd90a2487 server: fix build failures after merge-forward
add d2a3bd1aa78 Rename draft-THREAT-MODEL.md to THREAT_MODEL.md (#13599)
add 13742921d1e Fix simulator test failures on main (#13608)
add 332800480df debian/ubuntu: ignore pycompile errors (#13602)
add 0e43c6a818e tools/docker: Build docker image cloudstack-simulator
(#13597)
add 66132f83eae Introduce new backup provider (KBOSS) (#12758)
add a6b31286f06 [Veeam] Fix for dirty context not being returned on el9
add 028e1ef8eae Netapp ONTAP bugfixes for 4.23.0 (#13578)
add 75748a5cb85 upgrade: Include the database changes from #13019 in the
4.22.1 -> 4.23.0 path (#13617)
add cddd3835c4e fix(ui): restore Account column hyperlink routing in list
views (#13642)
add 7900b2715a2 server: fix clone network offerings with detail
internetProtocol=IPv4 (#13615)
add fc832413d2c Use correct ID to get value of
backup.validation.script.default.timeout (#13652)
add 0da37409cc2 nasbackup: fix backup stopped vm on Ubuntu 26.04 (#13643)
add 424f0dfdf5d nasbackup: fix agent.log is cleaned when backup stopped vm
(#13641)
add 8148c532e06 Ignore projectid=-1 on Quota summary (#13658)
add 3b53e8c4cb5 Don't set compressionstatus and validationstatus in
backupVO and backupsResponse for non-kboss providers (#13661)
add f4c0c312f6b ConfigureStorageAccessCmd: Allow storage access
configuration on empt… (#578) (#13551)
add 0339f31fb5e UI: fix blank page when list Other OSes in VNF appliance
deployment (#13620)
add e1cf0f335a7 Merge branch 4.22 to main
add 4f117071c93 KBOSS - Remove backup chain separation (#13680)
add 8a42d17cf26 CLVM/ISO: Ensure volume is created on the same host as the
VM being deployed on (#13748)
add 5a67f1930cc Update tools/build/build_asf.sh (#13812)
add dd3427d9140 UI: fix cannot update physical network (#13810)
add cced071159f Add Dogface2k to the contributors list
add ebc5e64b708 [CI] Run `pre-commit autoupdate` to update the hooks
(#12943)
add e2012133599 markdown table format fixes (#13848)
add 1ceb1d09255 docs: fix broken star history chart by using a new
provider (#13844)
add 659f675b059 README: add three more status buttons (#11650)
add dbee809b639 Rotate Copilot tokens for the gh-aw agentic workflows
(#13525)
add 1cd249160ec Update sonar-check.yml to manage coverage comments (#13878)
add 121d93164cb oauth: api: add missing version since (#13890)
add 64178ead02d Add missing project cleanups while deleting/moving user
(#13817)
add cd801b85615 usage: widen usage_volume unique key to include vm_id
(#13909)
add 2b78432edf3 Revert `registerUserKeys` back to a synchronous API
(#13896)
add d45d48180ae Fix KBOSS backup creation edge case (#13880)
add 4bfeb96c96f API key pair restructure follow-ups (#13828)
add 532852824a9 Add debug logging when storage pool has insufficient IOPS
capacity (#13579)
add 5dcb8abaf34 Fix checkRoleEscalation performance and bugs in access
checking (#12973)
add 9b9d0cf63be api,server: improve async job storage
add 72bdf5989bd add access validation for the deleteUserData,
linkUserDataToTemplate and resetUserDataForVirtualMachine APIs
add d463cb42a84 api: add ACL on ApiConstants.USER_DATA_ID
add a72f60519f5 ldap: improve config access
add 6b9fdd0d06c Add proper access check before proceeding with adding or
removing nodes from a CKS cluster
add 56ad044865b api,server,kvm: improve backup repository mount handling
add 443f20bf1c0 Allow only authorized users to add and list entity's
annotations
add a40d068228d Restrict domain admin access to project roles within their
own domain and add tests to cover perm check for proj role permissions
add 8221f625115 webhook: improve deliveries access
add fb758afbbc3 server: fix access for disable user 2fa
add 6c0e152ad2f Upgrade axios to 0.31.1 which has the config merge fix
add 53a7c294658 Fix issue in direct download and NFS templates
add f52f9da27bc Prevent command injections in get/run diagnostics API
add aa77259f481 oauth2: improve list providers api for access
add b98e1f568c6 oauth2: improve google provider flow
add e8f200afa3b Fix database connection leak
add 1790275babd webhook: additional check for payload url
add f2df4d9754a saml: reject signed SAMLResponse when IdP has no signing
certificate registered
add 9c32086e605 Restrict listHostTags to hosts dedicated to the caller's
domain (including sub-domains and accounts in a domain)
add 90f6b2a4cd5 Validate URL before obtaining remote size
add 2a027330579 Escape HTML in username, VM display name and diagnostics
output
add 549daae01ff correction in vpc limit assignment (#13627)
add f8a3762f076 do not send jetty version on failure to start (#13744)
add 69fc541737e server: ignore projectid=-1 for finding owner (#12695)
add 1e5d534c3ca guard against stopping stats background threads (#13659)
add 2bc8d299733 Don't allow adding of existing host to another zone, pod
or cluster (#13182)
add 5432a04ae6e Ensure VM IP is removed from VR DHCP records in
dnsmasq.leases after expunge VM (#13194)
add 18c1a30028d Allow only authorized users to add and list entity's
annotations
add 30e6abb63fb Restrict domain admin access to project roles within their
own domain and add tests to cover perm check for proj role permissions
add 4ae69bc7fd3 Restrict listHostTags to hosts dedicated to the caller's
domain (including sub-domains and accounts in a domain)
add e6640803ed9 webhook: improve deliveries access
add bbd37271c62 Validate URL before obtaining remote size
add 19d31cf6faf ldap: improve config access
add 57a2b4d5051 server: fix access for disable user 2fa
add 113ccb28e3b Upgrade axios to 0.31.1 which has the config merge fix
add 3eb928bc72d Escape HTML in username, VM display name and diagnostics
output
add 07e09db0af5 Fix issue in direct download and NFS templates
add 7c872a988ac api,server: improve async job storage
add 5b325dd49e4 Prevent command injections in get/run diagnostics API
add f320f552c33 oauth2: improve list providers api for access
add b17edb538e0 oauth2: improve google provider flow
add 9781fb906a7 api,server,kvm: improve backup repository mount handling
add ea75dc3c437 Fix database connection leak
add 2c7f13b709f webhook: additional check for payload url
add 04598336311 saml: reject signed SAMLResponse when IdP has no signing
certificate registered
add 8985a1fc7c2 add access validation for the deleteUserData,
linkUserDataToTemplate and resetUserDataForVirtualMachine APIs
add 6136ac93854 api: add ACL on ApiConstants.USER_DATA_ID
add 7fd56e573b8 Merge remote-tracking branch 'apache/4.20' into 4.22
add 7fc063ec13d build: fix after forward-merge
add 85bcdb1cc48 Fix NAS backup filename for legacy LINSTOR path (#13538)
add efa58cc52fc Merge remote-tracking branch 'origin/4.22'
add d7b4f35825a fixes after forward-merge
add cd486acc939 kvm: execute "qemu-img convert" by
Script.executeCommandForExitValue
add 02182a1572a Merge branch '4.23.0-merge-4.22.1.1' into main
add 8b72a16d61f build: fixes after forward-merge
add ba67a627f7a quota: skip usage records registering the period a volume
has been attached (#13936)
add 5e5ae0c51cd Fix type parameter in listBackupServiceJobs API (#13940)
add 4e4a26b49ef dns: prevent creation of cross-tenant conflicting DNS
zones in the same server (#13946)
add 158fe4fad53 DNS Provider URL Validation (#13821)
add a7a293ed58d Update RAT plugin version from 0.12 to 0.18 (#12989)
add 6764ca5ea3f add prashanth
add 77fbb0f0333 github: skip Copilot reviews for draft PRs (#13996)
add 8fb3ad4c4e6 Updating pom.xml version numbers for release
4.24.0.0-SNAPSHOT
add 7ea1dca5167 Add NULL check during restoreVM operation when host is
removed (#13779)
add 7d45dcb4301 Migrations triggered by Maintenance (system) not reported
on VM events list (#13931)
add 5b49d6aa3f7 Errorprone static analysis tool integration and fixes of
reported issues (#12419)
add b09005faaa9 UI: make serviceofferingid optional when add network
offering (#13502)
add 3dc23056b73 server: fix lastpinged of hosts (#13030)
add f2dec381726 Merge branch '4.20' into 4.22
add c7605686190 ui: label instance volume sizes as GiB (#13831)
add a5954f94cf6 fix domain cleanup when a removed account owns templates
(#13630)
add 167320eb9fe Propagate StopAnswer error details up the call chain when
stopping a VM (#13558)
add 6434ff2c62a make sure virtual machine params exist (#12771)
add 8d26cb3da6c Support for migration of system VMs with volumes in the
GUI (#13144)
add 042ec7e1655 UI: fix usage records end date with local timezone (#13769)
add 15dcfd36e0d Merge branch '4.22'
add 3d70ce47f91 doc: add API parameter syntax examples for nodeofferings
and nodetemplates in createKubernetesCluster (#13902)
add 2cd8c5eddc7 Create bridge on dest host during SSVM migration when
using storage networks with dedicated vlan (#13379)
add e3c7b767998 Merge remote-tracking branch 'origin/4.20' into 4.22
add bef06d7462d Merge remote-tracking branch 'origin/4.22'
add b7a834ba922 fix test failure - due to forward merge
add 44ab7dd85d4 api: replace \" with \' in
CreateKubernetesClusterCmd.java (#14044)
add 50ddab2d606 Merge branch 'main' into ghi12316-storageManagerTechDebt
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 4 +-
.github/COPILOT_TOKENS.md | 90 +
.github/linters/codespell.txt | 2 +
.github/scripts/post-compile.sh | 148 +
.github/workflows/copilot-token-health.yml | 64 +
.github/workflows/daily-issue-triage.lock.yml | 148 +-
.github/workflows/daily-issue-triage.md | 84 +
.github/workflows/daily-repo-status.md | 62 -
.github/workflows/rat.yml | 2 +-
.github/workflows/sonar-check.yml | 24 +-
...status.lock.yml => weekly-repo-status.lock.yml} | 211 +-
.github/workflows/weekly-repo-status.md | 141 +
.pre-commit-config.yaml | 14 +-
README.md | 7 +-
SECURITY.md | 2 +-
draft-THREAT-MODEL.md => THREAT_MODEL.md | 0
agent/conf/agent.properties | 12 +
agent/pom.xml | 2 +-
.../java/com/cloud/agent/mockvm/MockVmMgr.java | 2 +-
.../cloud/agent/properties/AgentProperties.java | 15 +-
api/pom.xml | 2 +-
.../com/cloud/agent/api/to/DataObjectType.java | 2 +-
api/src/main/java/com/cloud/event/EventTypes.java | 1 +
.../java/com/cloud/hypervisor/HypervisorGuru.java | 5 +-
.../java/com/cloud/projects/ProjectService.java | 2 +
api/src/main/java/com/cloud/storage/Storage.java | 3 +-
api/src/main/java/com/cloud/storage/Volume.java | 11 +-
.../java/com/cloud/storage/VolumeApiService.java | 4 +-
.../main/java/com/cloud/user/AccountService.java | 2 +
.../java/com/cloud/user/ResourceLimitService.java | 8 +-
api/src/main/java/com/cloud/vm/UserVmService.java | 3 +-
api/src/main/java/com/cloud/vm/VirtualMachine.java | 19 +-
.../java/com/cloud/vm/VirtualMachineProfile.java | 1 +
.../main/java/com/cloud/vm/VmDetailConstants.java | 10 +
.../java/org/apache/cloudstack/acl/APIChecker.java | 33 +-
.../org/apache/cloudstack/alert/AlertService.java | 3 +
.../org/apache/cloudstack/api/ApiArgValidator.java | 73 +-
.../org/apache/cloudstack/api/ApiConstants.java | 34 +-
.../org/apache/cloudstack/api/BaseAsyncCmd.java | 1 -
.../admin/backup/UpdateBackupOfferingCmd.java | 4 +-
.../admin/network/NetworkOfferingBaseCmd.java | 5 +-
.../api/command/admin/user/DeleteUserKeysCmd.java | 23 +-
.../api/command/admin/user/MoveUserCmd.java | 3 +-
.../command/admin/user/RegisterUserKeysCmd.java | 37 +-
.../admin/vm/CreateVMFromBackupCmdByAdmin.java | 15 +
.../admin/vm/ResetVMPasswordCmdByAdmin.java | 2 +-
.../admin/volume/DestroyVolumeCmdByAdmin.java | 2 +-
.../autoscale/CreateAutoScaleVmProfileCmd.java | 2 +
.../autoscale/UpdateAutoScaleVmProfileCmd.java | 1 +
.../api/command/user/backup/CreateBackupCmd.java | 12 +-
.../user/backup/CreateBackupOfferingCmd.java | 185 ++
.../user/backup/CreateBackupScheduleCmd.java | 12 +-
.../backup/DownloadValidationScreenshotCmd.java | 94 +
...oreBackupCmd.java => FinishBackupChainCmd.java} | 90 +-
.../user/backup/ListBackupServiceJobsCmd.java | 105 +
.../api/command/user/backup/RestoreBackupCmd.java | 20 +-
.../RestoreVolumeFromBackupAndAttachToVMCmd.java | 19 +-
.../backup/repository/AddBackupRepositoryCmd.java | 4 +-
.../repository/UpdateBackupRepositoryCmd.java | 8 +-
.../api/command/user/dns/AddDnsServerCmd.java | 2 +-
.../api/command/user/dns/DeleteDnsServerCmd.java | 2 +-
.../api/command/user/dns/UpdateDnsServerCmd.java | 2 +-
.../api/command/user/network/CreateNetworkCmd.java | 21 +
.../command/user/userdata/DeleteUserDataCmd.java | 17 +-
.../user/userdata/LinkUserDataToTemplateCmd.java | 3 +
.../api/command/user/vm/BaseDeployVMCmd.java | 1 +
.../api/command/user/vm/CreateVMFromBackupCmd.java | 18 +
.../api/command/user/vm/DestroyVMCmd.java | 10 +-
.../api/command/user/vm/ResetVMPasswordCmd.java | 2 +-
.../api/command/user/vm/ResetVMUserDataCmd.java | 1 +
.../api/command/user/vm/UpdateVMCmd.java | 1 +
.../api/command/user/volume/DeleteVolumeCmd.java | 2 +-
.../api/command/user/volume/DestroyVolumeCmd.java | 2 +-
.../api/response/BackupOfferingResponse.java | 8 +
.../cloudstack/api/response/BackupResponse.java | 36 +
.../api/response/BackupScheduleResponse.java | 8 +
.../api/response/BackupServiceJobResponse.java | 79 +
.../cloudstack/api/response/DomainResponse.java | 2 +-
.../cloudstack/api/response/HostTagResponse.java | 6 +-
.../cloudstack/api/response/UserVmResponse.java | 11 +
.../java/org/apache/cloudstack/backup/Backup.java | 22 +-
.../apache/cloudstack/backup/BackupManager.java | 17 +-
.../apache/cloudstack/backup/BackupProvider.java | 18 +-
.../apache/cloudstack/backup/BackupSchedule.java | 1 +
.../cloudstack/backup/InternalBackupProvider.java | 142 +
.../cloudstack/backup/InternalBackupService.java | 54 +
.../direct/download/DirectDownloadManager.java | 10 +
.../org/apache/cloudstack/query/QueryService.java | 6 +-
.../apache/cloudstack/region/RegionService.java | 3 +-
.../secstorage/heuristics/HeuristicType.java | 4 +-
.../com/cloud/network/IsolationMethodTest.java | 2 +-
.../user/userdata/DeleteUserDataCmdTest.java | 31 +-
client/pom.xml | 7 +-
core/pom.xml | 2 +-
...ateBackupsBetweenSecondaryStoragesCommand.java} | 30 +-
.../MigrateBetweenSecondaryStoragesCommand.java} | 29 +-
...grateBetweenSecondaryStoragesCommandAnswer.java | 28 +-
.../java/com/cloud/agent/api/StartCommand.java | 14 +-
.../storage/CreateDiskOnlyVmSnapshotAnswer.java | 11 +-
.../storage/CreateDiskOnlyVmSnapshotCommand.java | 12 +-
.../storage/MergeDiskOnlyVmSnapshotCommand.java | 16 +-
.../facade/AbstractConfigItemFacade.java | 2 +-
.../com/cloud/network/HAProxyConfigurator.java | 2 +-
.../java/com/cloud/resource/RequestWrapper.java | 2 +-
.../cloud/storage/resource/StorageProcessor.java | 4 +
.../StorageSubsystemCommandHandlerBase.java | 2 +
.../template/MetalinkTemplateDownloader.java | 7 +
.../directdownload/DirectDownloadCommand.java | 12 +-
.../backup/CleanupKbossBackupErrorAnswer.java} | 29 +-
.../CleanupKbossBackupErrorCommand.java} | 48 +-
.../CleanupKbossValidationCommand.java} | 34 +-
.../cloudstack/backup/CompressBackupCommand.java | 78 +
.../backup/ConsolidateVolumesAnswer.java | 30 +-
.../backup/ConsolidateVolumesCommand.java | 56 +
.../FinalizeBackupCompressionCommand.java} | 34 +-
.../PrepareValidationCommand.java} | 37 +-
.../backup/RestoreKbossBackupAnswer.java | 34 +-
.../backup/RestoreKbossBackupCommand.java | 66 +
.../TakeBackupHashCommand.java} | 36 +-
.../cloudstack/backup/TakeKbossBackupAnswer.java | 59 +
.../cloudstack/backup/TakeKbossBackupCommand.java | 92 +
.../cloudstack/backup/ValidateKbossVmAnswer.java | 39 +-
.../cloudstack/backup/ValidateKbossVmCommand.java | 133 +
.../direct/download/DirectDownloadHelper.java | 5 +-
.../download/MetalinkDirectTemplateDownloader.java | 55 +-
.../download/NfsDirectTemplateDownloader.java | 79 +-
...{DeleteCommand.java => BackupDeleteAnswer.java} | 31 +-
.../cloudstack/storage/command/DeleteCommand.java | 10 +
.../storage/command/RevertSnapshotCommand.java | 10 +
.../cloudstack/storage/to/BackupDeltaTO.java | 102 +
.../cloudstack/storage/to/DeltaMergeTreeTO.java} | 20 +-
.../org/apache/cloudstack/storage/to/KbossTO.java | 101 +
.../cloudstack/storage/to/VolumeObjectTO.java | 3 +-
...g-core-lifecycle-backup-context-inheritable.xml | 5 +
.../core/spring-core-registry-core-context.xml | 4 +
.../com/cloud/resource/ServerResourceBaseTest.java | 23 +-
.../download/NfsDirectTemplateDownloaderTest.java | 73 +
debian/changelog | 6 +
debian/cloudstack-common.postinst | 12 +-
developer/pom.xml | 2 +-
engine/api/pom.xml | 2 +-
.../service/VolumeOrchestrationService.java | 2 +-
engine/components-api/pom.xml | 2 +-
.../java/com/cloud/storage/StorageManager.java | 2 +
.../main/java/com/cloud/vm/VmWorkDeleteBackup.java | 23 +-
.../java/com/cloud/vm/VmWorkRestoreBackup.java | 36 +-
.../vm/VmWorkRestoreVolumeBackupAndAttach.java | 55 +
.../main/java/com/cloud/vm/VmWorkTakeBackup.java | 37 +-
engine/orchestration/pom.xml | 2 +-
.../java/com/cloud/agent/manager/AgentAttache.java | 9 +-
.../cloud/agent/manager/DirectAgentAttache.java | 5 +
.../com/cloud/vm/VirtualMachineManagerImpl.java | 111 +-
.../engine/orchestration/DataMigrationUtility.java | 89 +-
.../engine/orchestration/NetworkOrchestrator.java | 2 +-
.../engine/orchestration/StorageOrchestrator.java | 148 +-
.../engine/orchestration/VolumeOrchestrator.java | 39 +-
.../spring-engine-orchestration-core-context.xml | 1 +
.../agent/manager/ConnectedAgentAttacheTest.java | 6 +-
.../cloud/vm/VirtualMachineManagerImplTest.java | 15 +-
engine/pom.xml | 2 +-
engine/schema/pom.xml | 2 +-
.../main/java/com/cloud/event/dao/EventDao.java | 13 +
.../java/com/cloud/event/dao/EventDaoImpl.java | 20 +
.../src/main/java/com/cloud/host/dao/HostDao.java | 4 +
.../main/java/com/cloud/host/dao/HostDaoImpl.java | 18 +
.../java/com/cloud/host/dao/HostTagsDaoImpl.java | 1 -
.../java/com/cloud/network/dao/NetworkDao.java | 2 +
.../java/com/cloud/network/dao/NetworkDaoImpl.java | 12 +
.../com/cloud/offerings/NetworkOfferingVO.java | 2 +-
.../java/com/cloud/projects/ProjectAccountVO.java | 4 +
.../com/cloud/projects/ProjectInvitationVO.java | 4 +
.../com/cloud/projects/dao/ProjectAccountDao.java | 7 +-
.../cloud/projects/dao/ProjectAccountDaoImpl.java | 31 +-
.../cloud/projects/dao/ProjectInvitationDao.java | 6 +
.../projects/dao/ProjectInvitationDaoImpl.java | 35 +
.../main/java/com/cloud/storage/SnapshotVO.java | 4 +
.../com/cloud/storage/dao/SnapshotDaoImpl.java | 98 +-
.../upgrade/SystemVmTemplateRegistration.java | 61 +-
.../cloud/upgrade/dao/DatabaseAccessObject.java | 2 +-
.../com/cloud/upgrade/dao/Upgrade41500to41510.java | 79 +-
.../com/cloud/upgrade/dao/Upgrade42210to42300.java | 10 +
.../apache/cloudstack/backup/BackupOfferingVO.java | 5 +
.../apache/cloudstack/backup/BackupScheduleVO.java | 16 +-
.../org/apache/cloudstack/backup/BackupVO.java | 54 +-
.../backup/InternalBackupDataStoreVO.java | 95 +
.../cloudstack/backup/InternalBackupJoinVO.java | 190 ++
.../backup/InternalBackupServiceJobType.java | 10 +-
.../backup/InternalBackupServiceJobVO.java | 179 ++
.../backup/InternalBackupStoragePoolVO.java | 101 +
.../apache/cloudstack/backup/dao/BackupDao.java | 1 +
.../cloudstack/backup/dao/BackupDaoImpl.java | 10 +
.../cloudstack/backup/dao/BackupDetailsDao.java | 15 +
.../backup/dao/BackupDetailsDaoImpl.java | 26 +
.../backup/dao/BackupOfferingDaoImpl.java | 13 +
.../backup/dao/InternalBackupDataStoreDao.java | 33 +
.../backup/dao/InternalBackupDataStoreDaoImpl.java | 74 +
.../backup/dao/InternalBackupJoinDao.java | 40 +
.../backup/dao/InternalBackupJoinDaoImpl.java | 130 +
.../backup/dao/InternalBackupServiceJobDao.java | 39 +
.../dao/InternalBackupServiceJobDaoImpl.java | 138 +
.../backup/dao/InternalBackupStoragePoolDao.java | 33 +
.../dao/InternalBackupStoragePoolDaoImpl.java | 70 +
.../storage/datastore/db/SnapshotDataStoreDao.java | 2 +
.../datastore/db/SnapshotDataStoreDaoImpl.java | 31 +-
.../spring-engine-schema-core-daos-context.xml | 4 +
.../META-INF/db/schema-42210to42300-cleanup.sql | 4 +
.../resources/META-INF/db/schema-42210to42300.sql | 60 +
.../db/views/cloud.internal_backup_view.sql | 47 +
.../{nic_dns_view.sql => cloud.nic_dns_view.sql} | 0
.../cloud/network/as/AutoScaleVmProfileVOTest.java | 22 +-
engine/service/pom.xml | 2 +-
engine/storage/cache/pom.xml | 2 +-
engine/storage/configdrive/pom.xml | 2 +-
engine/storage/datamotion/pom.xml | 2 +-
.../motion/StorageSystemDataMotionStrategy.java | 5 +
engine/storage/image/pom.xml | 2 +-
engine/storage/integration-test/pom.xml | 2 +-
engine/storage/object/pom.xml | 2 +-
engine/storage/pom.xml | 2 +-
engine/storage/snapshot/pom.xml | 2 +-
.../storage/snapshot/SnapshotServiceImpl.java | 4 +
.../KvmFileBasedStorageVmSnapshotStrategy.java | 261 +-
.../vmsnapshot/ScaleIOVMSnapshotStrategy.java | 2 +-
.../vmsnapshot/StorageVMSnapshotStrategy.java | 16 +
.../vmsnapshot/VMSnapshotStrategyKVMTest.java | 6 +
.../cloudstack/storage/backup/BackupObject.java | 198 ++
.../storage/endpoint/DefaultEndPointSelector.java | 8 +-
.../storage/helper/VMSnapshotHelperImpl.java | 43 +-
.../storage/vmsnapshot/VMSnapshotHelper.java | 3 +
engine/storage/volume/pom.xml | 2 +-
.../storage/volume/VolumeServiceImpl.java | 20 +-
engine/userdata/cloud-init/pom.xml | 2 +-
engine/userdata/pom.xml | 2 +-
framework/agent-lb/pom.xml | 2 +-
framework/ca/pom.xml | 2 +-
framework/cluster/pom.xml | 2 +-
framework/config/pom.xml | 2 +-
.../framework/config/impl/ConfigDepotImpl.java | 11 +-
framework/db/pom.xml | 2 +-
.../java/com/cloud/utils/db/GenericDaoBase.java | 15 +-
framework/direct-download/pom.xml | 2 +-
framework/events/pom.xml | 2 +-
framework/extensions/pom.xml | 6 +-
.../framework/extensions/network/README.md | 84 +-
framework/ipc/pom.xml | 2 +-
.../framework/serializer/OnwireClassRegistry.java | 2 +-
framework/jobs/pom.xml | 2 +-
.../framework/jobs/AsyncJobDataHelper.java | 150 +
.../framework/jobs/impl/AsyncJobManagerImpl.java | 50 +-
.../cloudstack/framework/jobs/impl/AsyncJobVO.java | 22 +-
.../framework/jobs/impl/VmWorkJobVO.java | 8 +
.../framework/jobs/AsyncJobDataHelperTest.java | 249 ++
.../framework/jobs/AsyncJobManagerTest.java | 2 -
framework/kms/pom.xml | 2 +-
framework/managed-context/pom.xml | 2 +-
framework/pom.xml | 2 +-
framework/quota/pom.xml | 2 +-
.../apache/cloudstack/quota/QuotaManagerImpl.java | 6 +
.../cloudstack/quota/QuotaManagerImplTest.java | 62 +
framework/rest/.gitignore | 17 +
framework/rest/pom.xml | 2 +-
framework/security/pom.xml | 2 +-
framework/spring/lifecycle/pom.xml | 2 +-
framework/spring/module/pom.xml | 2 +-
.../factory/ModuleBasedContextFactoryTest.java | 3 +-
plugins/acl/dynamic-role-based/pom.xml | 2 +-
.../acl/DynamicRoleBasedAPIAccessChecker.java | 47 +-
.../acl/DynamicRoleBasedAPIAccessCheckerTest.java | 166 +-
plugins/acl/project-role-based/pom.xml | 2 +-
.../acl/ProjectRoleBasedApiAccessChecker.java | 10 +-
plugins/acl/static-role-based/pom.xml | 2 +-
.../acl/StaticRoleBasedAPIAccessChecker.java | 23 +-
.../explicit-dedication/pom.xml | 2 +-
.../host-affinity/pom.xml | 2 +-
.../host-anti-affinity/pom.xml | 2 +-
.../non-strict-host-affinity/pom.xml | 2 +-
.../non-strict-host-anti-affinity/pom.xml | 2 +-
plugins/alert-handlers/snmp-alerts/pom.xml | 2 +-
plugins/alert-handlers/syslog-alerts/pom.xml | 2 +-
plugins/api/discovery/pom.xml | 2 +-
.../discovery/ApiDiscoveryServiceImpl.java | 4 +-
plugins/api/rate-limit/pom.xml | 2 +-
.../ratelimit/ApiRateLimitServiceImpl.java | 7 +-
.../cloudstack/ratelimit/ApiRateLimitTest.java | 2 +-
plugins/api/solidfire-intg-test/pom.xml | 2 +-
plugins/api/vmware-sioc/pom.xml | 2 +-
plugins/backup/dummy/pom.xml | 2 +-
.../cloudstack/backup/DummyBackupProvider.java | 9 +-
plugins/backup/{nas => kboss}/pom.xml | 26 +-
.../cloudstack/backup/KbossBackupProvider.java | 2921 ++++++++++++++++++
.../META-INF/cloudstack/kboss/module.properties | 21 +-
.../kboss/spring-backup-kboss-context.xml | 26 +
.../cloudstack/backup/KbossBackupProviderTest.java | 3116 ++++++++++++++++++++
plugins/backup/nas/pom.xml | 2 +-
.../cloudstack/backup/NASBackupProvider.java | 10 +-
.../cloudstack/backup/NASBackupProviderTest.java | 6 +-
plugins/backup/networker/pom.xml | 2 +-
.../cloudstack/backup/NetworkerBackupProvider.java | 9 +-
plugins/backup/veeam/pom.xml | 2 +-
.../cloudstack/backup/VeeamBackupProvider.java | 9 +-
plugins/ca/root-ca/pom.xml | 2 +-
plugins/database/mysql-ha/pom.xml | 2 +-
plugins/database/quota/pom.xml | 2 +-
.../cloudstack/api/command/QuotaSummaryCmd.java | 8 +-
plugins/dedicated-resources/pom.xml | 2 +-
.../implicit-dedication/pom.xml | 2 +-
.../user-concentrated-pod/pom.xml | 2 +-
.../deployment-planners/user-dispersing/pom.xml | 2 +-
plugins/dns/powerdns/pom.xml | 2 +-
plugins/drs/cluster/balanced/pom.xml | 2 +-
plugins/drs/cluster/condensed/pom.xml | 2 +-
plugins/event-bus/inmemory/pom.xml | 2 +-
plugins/event-bus/kafka/pom.xml | 2 +-
plugins/event-bus/rabbitmq/pom.xml | 2 +-
plugins/event-bus/webhook/pom.xml | 2 +-
.../mom/webhook/WebhookApiServiceImpl.java | 81 +-
.../mom/webhook/WebhookDeliveryThread.java | 116 +-
.../cloudstack/mom/webhook/WebhookService.java | 38 +-
.../cloudstack/mom/webhook/WebhookServiceImpl.java | 61 +-
.../mom/webhook/WebhookUrlValidator.java | 123 +
.../mom/webhook/dao/WebhookDeliveryDao.java | 3 +-
.../mom/webhook/dao/WebhookDeliveryDaoImpl.java | 13 +-
.../mom/webhook/dao/WebhookDeliveryJoinDao.java | 6 +-
.../webhook/dao/WebhookDeliveryJoinDaoImpl.java | 9 +-
.../mom/webhook/WebhookApiServiceImplTest.java | 257 +-
.../mom/webhook/WebhookDeliveryThreadTest.java | 7 +
.../mom/webhook/WebhookServiceImplTest.java | 20 +-
.../mom/webhook/WebhookUrlValidatorTest.java | 100 +
.../webhook/dao/WebhookDeliveryDaoImplTest.java | 6 +-
.../dao/WebhookDeliveryJoinDaoImplTest.java | 6 +-
plugins/ha-planners/skip-heurestics/pom.xml | 2 +-
plugins/hypervisors/baremetal/pom.xml | 2 +-
plugins/hypervisors/external/pom.xml | 2 +-
.../HypervResource/HypervResourceController.cs | 6 +-
plugins/hypervisors/hyperv/pom.xml | 2 +-
.../resource/HypervDirectConnectResource.java | 2 +-
.../test/HypervDirectConnectResourceTest.java | 3 +
plugins/hypervisors/kvm/pom.xml | 17 +-
.../kvm/resource/BlockCommitListener.java | 12 +-
.../hypervisor/kvm/resource/BridgeVifDriver.java | 9 +-
.../kvm/resource/LibvirtComputingResource.java | 365 ++-
.../kvm/resource/LibvirtDomainXMLParser.java | 16 +
...irtMigrateResourceBetweenSecondaryStorages.java | 123 +
.../resource/LibvirtStorageVolumeXMLParser.java | 20 +
.../hypervisor/kvm/resource/LibvirtVMDef.java | 9 +
...ibvirtCleanupKbossValidationCommandWrapper.java | 50 +
.../LibvirtCleanupKbossVmBackupCommandWrapper.java | 231 ++
.../LibvirtCompressBackupCommandWrapper.java | 150 +
.../LibvirtConsolidateVolumesCommandWrapper.java | 59 +
...virtCreateDiskOnlyVMSnapshotCommandWrapper.java | 178 +-
...irtFinalizeBackupCompressionCommandWrapper.java | 73 +
.../LibvirtGetStorageStatsCommandWrapper.java | 2 +-
.../LibvirtGetVolumesOnStorageCommandWrapper.java | 2 +-
...bvirtMergeDiskOnlyVMSnapshotCommandWrapper.java | 99 +-
...kupsBetweenSecondaryStoragesCommandWrapper.java | 132 +
.../LibvirtPrepareValidationCommandWrapper.java | 91 +
.../LibvirtRestoreBackupCommandWrapper.java | 135 +-
.../LibvirtRestoreKbossBackupCommandWrapper.java | 123 +
.../LibvirtRevertSnapshotCommandWrapper.java | 12 +-
.../wrapper/LibvirtStartCommandWrapper.java | 16 +
.../LibvirtTakeBackupHashCommandWrapper.java | 72 +
.../LibvirtTakeKbossBackupCommandWrapper.java | 393 +++
.../LibvirtValidateKbossVmCommandWrapper.java | 225 ++
.../kvm/storage/KVMStoragePoolManager.java | 9 +-
.../kvm/storage/KVMStorageProcessor.java | 35 +-
.../kvm/storage/LibvirtStorageAdaptor.java | 5 +-
.../kvm/storage/MultipathSCSIAdapterBase.java | 12 +-
.../org/apache/cloudstack/utils/qemu/QemuImg.java | 109 +-
.../kvm/resource/LibvirtComputingResourceTest.java | 45 +-
.../LibvirTakeKbossBackupCommandWrapperTest.java | 377 +++
...bvirtGetVolumesOnStorageCommandWrapperTest.java | 2 +-
.../LibvirtRestoreBackupCommandWrapperTest.java | 120 +-
...ibvirtRestoreKbossBackupCommandWrapperTest.java | 181 ++
.../LibvirtRevertSnapshotCommandWrapperTest.java | 10 +-
.../kvm/storage/ScaleIOStoragePoolTest.java | 2 +
.../apache/cloudstack/utils/qemu/QemuImgTest.java | 131 +-
plugins/hypervisors/ovm/pom.xml | 2 +-
plugins/hypervisors/ovm3/.gitignore | 17 +
plugins/hypervisors/ovm3/pom.xml | 2 +-
.../hypervisor/ovm3/objects/ConnectionTest.java | 2 +-
.../com/cloud/hypervisor/ovm3/objects/NtpTest.java | 2 +
plugins/hypervisors/simulator/pom.xml | 2 +-
.../java/com/cloud/simulator/SimulatorGuru.java | 5 +-
plugins/hypervisors/ucs/pom.xml | 2 +-
plugins/hypervisors/vmware/pom.xml | 2 +-
.../java/com/cloud/hypervisor/guru/VMwareGuru.java | 7 +-
.../vmware/VmwareDatacenterApiUnitTest.java | 15 +-
plugins/hypervisors/xenserver/pom.xml | 2 +-
.../java/com/cloud/hypervisor/XenServerGuru.java | 7 +-
.../xenserver/resource/CitrixResourceBaseTest.java | 3 +
plugins/integrations/cloudian/pom.xml | 2 +-
plugins/integrations/kubernetes-service/pom.xml | 2 +-
.../cluster/KubernetesClusterManagerImpl.java | 8 +-
.../cluster/CreateKubernetesClusterCmd.java | 8 +-
plugins/integrations/prometheus/pom.xml | 2 +-
plugins/integrations/veeam-control-service/pom.xml | 2 +-
.../cloudstack/veeam/adapter/ServerAdapter.java | 4 +-
.../veeam/adapter/ServerAdapterTest.java | 2 +-
plugins/kms/database/pom.xml | 2 +-
plugins/kms/pkcs11/pom.xml | 2 +-
plugins/kms/pom.xml | 2 +-
plugins/maintenance/pom.xml | 2 +-
plugins/metrics/pom.xml | 2 +-
plugins/network-elements/bigswitch/pom.xml | 2 +-
plugins/network-elements/brocade-vcs/pom.xml | 2 +-
.../guru/BrocadeVcsGuestNetworkGuruTest.java | 2 -
plugins/network-elements/cisco-vnmc/pom.xml | 2 +-
.../network/cisco/CiscoVnmcConnectionTest.java | 3 +-
.../network/resource/CiscoVnmcResourceTest.java | 3 +
plugins/network-elements/dns-notifier/pom.xml | 2 +-
.../network-elements/elastic-loadbalancer/pom.xml | 2 +-
plugins/network-elements/globodns/pom.xml | 2 +-
.../network-elements/internal-loadbalancer/pom.xml | 2 +-
plugins/network-elements/juniper-contrail/pom.xml | 2 +-
.../contrail/management/MockAccountManager.java | 9 +
plugins/network-elements/netris/pom.xml | 2 +-
plugins/network-elements/netscaler/pom.xml | 2 +-
plugins/network-elements/nicira-nvp/pom.xml | 2 +-
.../guru/NiciraNvpGuestNetworkGuruTest.java | 6 -
.../com/cloud/network/nicira/NiciraNvpApiIT.java | 2 -
plugins/network-elements/nsx/pom.xml | 2 +-
.../cloudstack/agent/api/NsxNetworkCommand.java | 2 +-
plugins/network-elements/opendaylight/pom.xml | 2 +-
plugins/network-elements/ovs/pom.xml | 2 +-
plugins/network-elements/palo-alto/pom.xml | 2 +-
plugins/network-elements/stratosphere-ssp/pom.xml | 2 +-
plugins/network-elements/tungsten/pom.xml | 2 +-
.../AddTungstenFabricPolicyRuleCmdTest.java | 2 +
.../CreateTungstenFabricFirewallRuleCmdTest.java | 2 +
.../CreateTungstenFabricProviderCmdTest.java | 2 +
.../command/DeleteTungstenFabricTagCmdTest.java | 2 +
.../command/RemoveTungstenFabricTagCmdTest.java | 2 +
plugins/network-elements/vxlan/pom.xml | 2 +-
.../outofbandmanagement-drivers/ipmitool/pom.xml | 2 +-
.../nested-cloudstack/pom.xml | 2 +-
.../outofbandmanagement-drivers/redfish/pom.xml | 2 +-
.../driver/redfish/RedfishWrapper.java | 2 +-
plugins/pom.xml | 3 +-
plugins/storage-allocators/random/pom.xml | 2 +-
plugins/storage/image/default/pom.xml | 2 +-
.../driver/CloudStackImageStoreDriverImpl.java | 6 +-
plugins/storage/image/s3/pom.xml | 2 +-
plugins/storage/image/sample/pom.xml | 2 +-
plugins/storage/image/swift/pom.xml | 2 +-
plugins/storage/object/ceph/pom.xml | 2 +-
plugins/storage/object/cloudian/pom.xml | 2 +-
plugins/storage/object/minio/pom.xml | 2 +-
plugins/storage/object/simulator/pom.xml | 2 +-
plugins/storage/sharedfs/storagevm/pom.xml | 2 +-
.../lifecycle/StorageVmSharedFSLifeCycle.java | 2 +-
plugins/storage/volume/adaptive/pom.xml | 2 +-
plugins/storage/volume/cloudbyte/pom.xml | 2 +-
plugins/storage/volume/datera/pom.xml | 2 +-
plugins/storage/volume/default/pom.xml | 2 +-
.../CloudStackPrimaryDataStoreDriverImpl.java | 14 +-
plugins/storage/volume/flasharray/pom.xml | 2 +-
.../adapter/flasharray/FlashArrayAdapter.java | 184 +-
plugins/storage/volume/linstor/pom.xml | 2 +-
plugins/storage/volume/nexenta/pom.xml | 2 +-
.../datastore/util/NexentaStorAppliance.java | 13 +-
plugins/storage/volume/ontap/README.md | 20 +-
plugins/storage/volume/ontap/pom.xml | 19 +-
.../driver/OntapPrimaryDatastoreDriver.java | 4 +-
.../cloudstack/storage/feign/model/Volume.java | 75 +
.../lifecycle/OntapPrimaryDatastoreLifecycle.java | 9 +-
.../storage/service/StorageStrategy.java | 39 +-
.../storage/service/UnifiedSANStrategy.java | 4 +-
.../storage/utils/OntapStorageConstants.java | 1 +
.../storage/utils/OntapStorageUtils.java | 13 +-
.../driver/OntapPrimaryDatastoreDriverTest.java | 3 +
.../OntapPrimaryDatastoreLifecycleTest.java | 84 +-
.../storage/service/StorageStrategyTest.java | 77 +
.../storage/service/UnifiedSANStrategyTest.java | 16 +-
.../storage/utils/OntapStorageUtilsTest.java | 82 +
plugins/storage/volume/primera/pom.xml | 2 +-
plugins/storage/volume/sample/pom.xml | 2 +-
plugins/storage/volume/scaleio/pom.xml | 2 +-
plugins/storage/volume/solidfire/pom.xml | 2 +-
plugins/storage/volume/storpool/pom.xml | 2 +-
.../driver/StorPoolPrimaryDataStoreDriver.java | 2 +-
.../storage/motion/StorPoolDataMotionStrategy.java | 2 +-
plugins/user-authenticators/ldap/pom.xml | 2 +-
.../api/response/LdapConfigurationResponse.java | 17 +-
.../cloudstack/ldap/ADLdapUserManagerImpl.java | 1 +
.../apache/cloudstack/ldap/LdapAuthenticator.java | 8 +-
.../apache/cloudstack/ldap/LdapManagerImpl.java | 25 +-
.../cloudstack/ldap/OpenLdapUserManagerImpl.java | 4 +
.../ldap/LdapDirectoryServerConnectionTest.java | 3 +
.../ldap/LdapUnboundidZapdotConnectionTest.java | 3 +
plugins/user-authenticators/md5/pom.xml | 2 +-
plugins/user-authenticators/oauth2/pom.xml | 2 +-
.../oauth2/api/command/ListOAuthProvidersCmd.java | 43 +-
.../api/command/RegisterOAuthProviderCmd.java | 4 +-
.../oauth2/api/command/UpdateOAuthProviderCmd.java | 4 +-
.../oauth2/google/GoogleOAuth2Provider.java | 94 +-
.../oauth2/google/GoogleOAuth2ProviderTest.java | 176 +-
plugins/user-authenticators/pbkdf2/pom.xml | 2 +-
plugins/user-authenticators/plain-text/pom.xml | 2 +-
plugins/user-authenticators/saml2/pom.xml | 2 +-
.../api/command/SAML2LoginAPIAuthenticatorCmd.java | 78 +-
plugins/user-authenticators/sha256salted/pom.xml | 2 +-
.../static-pin/pom.xml | 2 +-
.../user-two-factor-authenticators/totp/pom.xml | 2 +-
pom.xml | 3 +-
quickcloud/pom.xml | 2 +-
.../vm/hypervisor/kvm/imageserver/backends/nbd.py | 45 +-
scripts/vm/hypervisor/kvm/imageserver/handler.py | 5 +
.../kvm/imageserver/tests/test_nbd_entries.py | 194 ++
scripts/vm/hypervisor/kvm/nasbackup.sh | 45 +-
server/pom.xml | 4 +-
.../src/main/java/com/cloud/acl/DomainChecker.java | 2 +-
.../main/java/com/cloud/api/ApiResponseHelper.java | 1 +
server/src/main/java/com/cloud/api/ApiServer.java | 18 +-
.../com/cloud/api/dispatch/ParamProcessWorker.java | 6 +
.../java/com/cloud/api/doc/ApiXmlDocWriter.java | 2 +-
.../src/main/java/com/cloud/api/doc/Argument.java | 12 +-
.../java/com/cloud/api/query/QueryManagerImpl.java | 113 +-
.../com/cloud/api/query/dao/HostJoinDaoImpl.java | 9 +-
.../cloud/api/query/dao/TemplateJoinDaoImpl.java | 4 +-
.../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 7 +
.../com/cloud/api/query/vo/AsyncJobJoinVO.java | 3 +-
.../configuration/ConfigurationManagerImpl.java | 11 +-
.../consoleproxy/ConsoleProxyManagerImpl.java | 7 +-
.../com/cloud/dc/dao/DedicatedResourceDao.java | 6 +
.../com/cloud/dc/dao/DedicatedResourceDaoImpl.java | 12 +
.../java/com/cloud/event/ActionEventUtils.java | 14 +
.../com/cloud/ha/HighAvailabilityManagerImpl.java | 113 +-
.../com/cloud/hypervisor/HypervisorGuruBase.java | 5 +-
.../main/java/com/cloud/hypervisor/KVMGuru.java | 21 +-
.../com/cloud/network/IpAddressManagerImpl.java | 2 +-
.../com/cloud/network/as/AutoScaleManagerImpl.java | 2 +-
.../java/com/cloud/projects/ProjectManager.java | 3 +
.../com/cloud/projects/ProjectManagerImpl.java | 90 +-
.../com/cloud/resource/ResourceManagerImpl.java | 84 +-
.../resourcelimit/ResourceLimitManagerImpl.java | 64 +-
.../com/cloud/server/ManagementServerImpl.java | 69 +-
.../main/java/com/cloud/server/StatsCollector.java | 14 +-
.../java/com/cloud/storage/StorageManagerImpl.java | 14 +-
.../com/cloud/storage/VolumeApiServiceImpl.java | 96 +-
.../com/cloud/template/TemplateManagerImpl.java | 25 +-
.../main/java/com/cloud/user/AccountManager.java | 8 +-
.../java/com/cloud/user/AccountManagerImpl.java | 182 +-
.../src/main/java/com/cloud/vm/UserVmManager.java | 19 +-
.../main/java/com/cloud/vm/UserVmManagerImpl.java | 374 ++-
.../cloud/vm/snapshot/VMSnapshotManagerImpl.java | 10 +-
.../cloudstack/acl/ProjectRoleManagerImpl.java | 17 +-
.../org/apache/cloudstack/acl/RoleManagerImpl.java | 3 +
.../annotation/AnnotationManagerImpl.java | 9 +-
.../BackupCompressionServiceJobController.java | 241 ++
.../cloudstack/backup/BackupManagerImpl.java | 303 +-
.../BackupValidationServiceJobController.java | 217 ++
.../backup/InternalBackupServiceImpl.java | 365 +++
.../backup/InternalBackupServiceJobController.java | 307 ++
.../backup/to/BackupScreenshotObject.java | 113 +
.../cloudstack/backup/to/BackupScreenshotTO.java | 59 +
.../command/ReconcileCommandServiceImpl.java | 2 +-
.../diagnostics/DiagnosticsServiceImpl.java | 37 +-
.../direct/download/DirectDownloadManagerImpl.java | 27 +-
.../cloudstack/dns/DnsProviderManagerImpl.java | 96 +-
.../org/apache/cloudstack/dns/dao/DnsZoneDao.java | 2 +
.../apache/cloudstack/dns/dao/DnsZoneDaoImpl.java | 24 +-
.../cloudstack/network/RoutedIpv4ManagerImpl.java | 8 +-
.../apache/cloudstack/region/RegionManager.java | 3 +-
.../cloudstack/region/RegionManagerImpl.java | 3 +-
.../cloudstack/region/RegionServiceImpl.java | 3 +-
.../gslb/GlobalLoadBalancingRulesServiceImpl.java | 11 +-
.../storage/heuristics/HeuristicRuleHelper.java | 24 +
.../storage/heuristics/presetvariables/Backup.java | 33 +-
.../presetvariables/PresetVariables.java | 10 +
.../cloudstack/vm/UnmanagedVMsManagerImpl.java | 4 +-
.../core/spring-server-core-managers-context.xml | 5 +
.../test/java/com/cloud/acl/DomainCheckerTest.java | 27 +-
.../cloud/api/dispatch/ParamProcessWorkerTest.java | 20 +
.../com/cloud/api/query/QueryManagerImplTest.java | 231 +-
.../deploy/DeploymentPlanningManagerImplTest.java | 57 +-
.../cloud/ha/HighAvailabilityManagerImplTest.java | 8 +-
.../cloud/network/as/AutoScaleManagerImplTest.java | 10 +-
.../com/cloud/projects/MockProjectManagerImpl.java | 12 +
.../com/cloud/projects/ProjectManagerImplTest.java | 182 ++
.../cloud/resource/ResourceManagerImplTest.java | 182 ++
.../ResourceLimitManagerImplTest.java | 95 +-
.../com/cloud/server/ManagementServerImplTest.java | 1420 ++++++++-
.../java/com/cloud/server/StatsCollectorTest.java | 43 +
.../cloud/storage/VolumeApiServiceImplTest.java | 40 +-
.../template/HypervisorTemplateAdapterTest.java | 2 +
.../cloud/template/TemplateManagerImplTest.java | 158 +-
.../com/cloud/user/AccountManagerImplTest.java | 164 +-
.../java/com/cloud/user/DomainManagerImplTest.java | 7 +-
.../java/com/cloud/vm/UserVmManagerImplTest.java | 239 +-
.../test/java/com/cloud/vm/UserVmManagerTest.java | 3 +
.../cloud/vm/snapshot/VMSnapshotManagerTest.java | 7 +-
.../cloud/vpc/MockResourceLimitManagerImpl.java | 10 +-
.../java/com/cloud/vpc/dao/MockNetworkDaoImpl.java | 5 +
.../cloudstack/acl/ProjectRoleManagerImplTest.java | 245 ++
.../BackupCompressionServiceJobControllerTest.java | 528 ++++
.../cloudstack/backup/BackupManagerTest.java | 229 +-
.../BackupValidationServiceJobControllerTest.java | 150 +
.../backup/InternalBackupServiceImplTest.java | 551 ++++
.../diagnostics/DiagnosticsServiceImplTest.java | 133 +
.../cloudstack/dns/DnsProviderManagerImplTest.java | 461 ++-
.../deployment/RouterDeploymentDefinitionTest.java | 2 +-
.../heuristics/HeuristicRuleHelperTest.java | 19 +
services/console-proxy/pom.xml | 2 +-
services/console-proxy/rdpconsole/pom.xml | 2 +-
.../rdpclient/ntlmssp/ServerNtlmsspChallenge.java | 5 +-
.../src/main/java/streamer/ByteBuffer.java | 2 +-
.../src/test/java/streamer/ByteBufferTest.java | 1 +
services/console-proxy/server/pom.xml | 2 +-
.../consoleproxy/ConsoleProxyNoVNCServer.java | 10 +-
services/pom.xml | 2 +-
services/secondary-storage/controller/pom.xml | 2 +-
services/secondary-storage/pom.xml | 2 +-
services/secondary-storage/server/pom.xml | 2 +-
.../resource/NfsSecondaryStorageResource.java | 74 +-
.../resource/NfsSecondaryStorageResourceTest.java | 142 +-
systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 67 +-
systemvm/pom.xml | 2 +-
test/integration/component/test_vpc_offerings.py | 6 +-
.../smoke/test_backup_recovery_kboss.py | 336 +++
test/integration/smoke/test_public_ip_range.py | 18 +-
test/integration/smoke/test_webhook_delivery.py | 67 +-
test/integration/smoke/test_webhook_lifecycle.py | 83 +-
test/pom.xml | 2 +-
tools/apidoc/gen_toc.py | 3 +-
tools/apidoc/pom.xml | 2 +-
tools/build/build_asf.sh | 3 +
tools/checkstyle/pom.xml | 2 +-
tools/devcloud-kvm/pom.xml | 2 +-
tools/devcloud4/.gitignore | 17 +
tools/devcloud4/pom.xml | 2 +-
tools/docker/Dockerfile | 15 +-
tools/docker/Dockerfile.marvin | 4 +-
tools/docker/Dockerfile.s390x | 2 +-
tools/docker/supervisord.conf | 2 +
tools/marvin/marvin/lib/base.py | 31 +
tools/marvin/pom.xml | 2 +-
tools/marvin/setup.py | 2 +-
tools/pom.xml | 2 +-
ui/package.json | 2 +-
ui/public/locales/en.json | 16 +-
ui/public/locales/pt_BR.json | 14 +-
ui/src/components/view/ApiKeyPairsTab.vue | 27 +-
ui/src/components/view/DetailsTab.vue | 17 +-
ui/src/components/view/InfoCard.vue | 2 +-
.../InstanceVolumesStoragePoolSelectListView.vue | 3 +-
ui/src/components/view/ListView.vue | 23 +-
ui/src/components/view/VolumesTab.vue | 2 +-
ui/src/components/widgets/Status.vue | 8 +
ui/src/config/section/compute.js | 18 +-
ui/src/config/section/infra/hosts.js | 2 +-
ui/src/config/section/infra/phynetworks.js | 2 +-
ui/src/config/section/infra/routers.js | 3 +-
ui/src/config/section/infra/systemVms.js | 3 +-
ui/src/config/section/network.js | 3 +-
ui/src/config/section/offering.js | 9 +-
ui/src/config/section/storage.js | 12 +-
ui/src/config/section/user.js | 3 +-
ui/src/core/lazy_lib/icons_use.js | 2 +
ui/src/utils/util.js | 9 +
ui/src/views/AutogenView.vue | 14 +
ui/src/views/compute/DeployVnfAppliance.vue | 2 +-
ui/src/views/compute/InstanceTab.vue | 4 +-
ui/src/views/compute/MigrateWizard.vue | 15 +-
ui/src/views/compute/StartBackup.vue | 13 +-
ui/src/views/compute/backup/BackupSchedule.vue | 8 +
ui/src/views/compute/backup/FormSchedule.vue | 13 +-
ui/src/views/iam/GenerateApiKeyPair.vue | 18 +-
ui/src/views/infra/UsageRecords.vue | 4 +-
ui/src/views/network/dns/AddDnsServer.vue | 7 +-
ui/src/views/network/dns/UpdateDnsServer.vue | 7 +-
ui/src/views/offering/AddNetworkOffering.vue | 1 -
ui/src/views/offering/CreateBackupOffering.vue | 297 ++
ui/src/views/storage/CreateVMFromBackup.vue | 12 +-
ui/src/views/storage/RestoreAttachBackupVolume.vue | 74 +-
ui/tests/unit/components/view/DetailsTab.spec.js | 67 +
ui/tests/unit/components/view/InfoCard.spec.js | 64 +
ui/tests/unit/components/view/VolumesTab.spec.js | 58 +
ui/tests/unit/views/infra/UsageRecords.spec.js | 81 +
usage/pom.xml | 2 +-
utils/pom.xml | 2 +-
utils/src/main/java/com/cloud/utils/DateUtil.java | 6 +
.../src/main/java/com/cloud/utils/StringUtils.java | 23 +
utils/src/main/java/com/cloud/utils/UriUtils.java | 145 +-
.../com/cloud/utils/exception/BackupException.java | 37 +-
.../utils/exception/BackupProviderException.java | 20 +-
vmware-base/pom.xml | 2 +-
.../hypervisor/vmware/mo/HypervisorHostHelper.java | 8 +-
687 files changed, 27704 insertions(+), 3392 deletions(-)
create mode 100644 .github/COPILOT_TOKENS.md
create mode 100755 .github/scripts/post-compile.sh
create mode 100644 .github/workflows/copilot-token-health.yml
delete mode 100644 .github/workflows/daily-repo-status.md
rename .github/workflows/{daily-repo-status.lock.yml =>
weekly-repo-status.lock.yml} (90%)
create mode 100644 .github/workflows/weekly-repo-status.md
rename draft-THREAT-MODEL.md => THREAT_MODEL.md (100%)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/backup/CreateBackupOfferingCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/backup/DownloadValidationScreenshotCmd.java
copy
api/src/main/java/org/apache/cloudstack/api/command/user/backup/{RestoreBackupCmd.java
=> FinishBackupChainCmd.java} (52%)
create mode 100644
api/src/main/java/org/apache/cloudstack/api/command/user/backup/ListBackupServiceJobsCmd.java
create mode 100644
api/src/main/java/org/apache/cloudstack/api/response/BackupServiceJobResponse.java
create mode 100644
api/src/main/java/org/apache/cloudstack/backup/InternalBackupProvider.java
create mode 100644
api/src/main/java/org/apache/cloudstack/backup/InternalBackupService.java
copy
core/src/main/java/{org/apache/cloudstack/storage/command/DeleteCommand.java =>
com/cloud/agent/api/MigrateBackupsBetweenSecondaryStoragesCommand.java} (58%)
copy
core/src/main/java/{org/apache/cloudstack/storage/command/DeleteCommand.java =>
com/cloud/agent/api/MigrateBetweenSecondaryStoragesCommand.java} (60%)
copy server/src/main/java/org/apache/cloudstack/dns/dao/DnsZoneDao.java =>
core/src/main/java/com/cloud/agent/api/MigrateBetweenSecondaryStoragesCommandAnswer.java
(55%)
copy
core/src/main/java/{com/cloud/agent/api/storage/CreateDiskOnlyVmSnapshotCommand.java
=> org/apache/cloudstack/backup/CleanupKbossBackupErrorAnswer.java} (55%)
copy
core/src/main/java/org/apache/cloudstack/{storage/command/DeleteCommand.java =>
backup/CleanupKbossBackupErrorCommand.java} (51%)
copy
core/src/main/java/org/apache/cloudstack/{storage/command/DeleteCommand.java =>
backup/CleanupKbossValidationCommand.java} (63%)
create mode 100644
core/src/main/java/org/apache/cloudstack/backup/CompressBackupCommand.java
copy api/src/main/java/org/apache/cloudstack/backup/BackupSchedule.java =>
core/src/main/java/org/apache/cloudstack/backup/ConsolidateVolumesAnswer.java
(55%)
create mode 100644
core/src/main/java/org/apache/cloudstack/backup/ConsolidateVolumesCommand.java
copy
core/src/main/java/org/apache/cloudstack/{storage/command/DeleteCommand.java =>
backup/FinalizeBackupCompressionCommand.java} (60%)
copy
core/src/main/java/org/apache/cloudstack/{storage/command/DeleteCommand.java =>
backup/PrepareValidationCommand.java} (52%)
copy api/src/main/java/org/apache/cloudstack/backup/BackupSchedule.java =>
core/src/main/java/org/apache/cloudstack/backup/RestoreKbossBackupAnswer.java
(55%)
create mode 100644
core/src/main/java/org/apache/cloudstack/backup/RestoreKbossBackupCommand.java
copy
core/src/main/java/org/apache/cloudstack/{storage/command/DeleteCommand.java =>
backup/TakeBackupHashCommand.java} (59%)
create mode 100644
core/src/main/java/org/apache/cloudstack/backup/TakeKbossBackupAnswer.java
create mode 100644
core/src/main/java/org/apache/cloudstack/backup/TakeKbossBackupCommand.java
copy api/src/main/java/org/apache/cloudstack/backup/BackupSchedule.java =>
core/src/main/java/org/apache/cloudstack/backup/ValidateKbossVmAnswer.java (53%)
create mode 100644
core/src/main/java/org/apache/cloudstack/backup/ValidateKbossVmCommand.java
copy
core/src/main/java/org/apache/cloudstack/storage/command/{DeleteCommand.java =>
BackupDeleteAnswer.java} (63%)
create mode 100644
core/src/main/java/org/apache/cloudstack/storage/to/BackupDeltaTO.java
rename
core/src/main/java/{com/cloud/agent/api/storage/SnapshotMergeTreeTO.java =>
org/apache/cloudstack/storage/to/DeltaMergeTreeTO.java} (71%)
create mode 100644
core/src/main/java/org/apache/cloudstack/storage/to/KbossTO.java
create mode 100644
core/src/test/java/org/apache/cloudstack/direct/download/NfsDirectTemplateDownloaderTest.java
copy
plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDeliveryDao.java
=> engine/components-api/src/main/java/com/cloud/vm/VmWorkDeleteBackup.java
(61%)
copy
core/src/main/java/org/apache/cloudstack/storage/command/DeleteCommand.java =>
engine/components-api/src/main/java/com/cloud/vm/VmWorkRestoreBackup.java (56%)
create mode 100644
engine/components-api/src/main/java/com/cloud/vm/VmWorkRestoreVolumeBackupAndAttach.java
copy
core/src/main/java/org/apache/cloudstack/storage/command/DeleteCommand.java =>
engine/components-api/src/main/java/com/cloud/vm/VmWorkTakeBackup.java (54%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/InternalBackupDataStoreVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/InternalBackupJoinVO.java
copy
api/src/main/java/org/apache/cloudstack/secstorage/heuristics/HeuristicType.java
=>
engine/schema/src/main/java/org/apache/cloudstack/backup/InternalBackupServiceJobType.java
(72%)
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/InternalBackupServiceJobVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/InternalBackupStoragePoolVO.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupDataStoreDao.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupDataStoreDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupJoinDao.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupJoinDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupServiceJobDao.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupServiceJobDaoImpl.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupStoragePoolDao.java
create mode 100644
engine/schema/src/main/java/org/apache/cloudstack/backup/dao/InternalBackupStoragePoolDaoImpl.java
create mode 100644
engine/schema/src/main/resources/META-INF/db/views/cloud.internal_backup_view.sql
rename engine/schema/src/main/resources/META-INF/db/views/{nic_dns_view.sql =>
cloud.nic_dns_view.sql} (100%)
create mode 100644
engine/storage/src/main/java/org/apache/cloudstack/storage/backup/BackupObject.java
create mode 100644
framework/jobs/src/main/java/org/apache/cloudstack/framework/jobs/AsyncJobDataHelper.java
create mode 100644
framework/jobs/src/test/java/org/apache/cloudstack/framework/jobs/AsyncJobDataHelperTest.java
copy plugins/backup/{nas => kboss}/pom.xml (67%)
create mode 100644
plugins/backup/kboss/src/main/java/org/apache/cloudstack/backup/KbossBackupProvider.java
copy debian/cloudstack-common.postinst =>
plugins/backup/kboss/src/main/resources/META-INF/cloudstack/kboss/module.properties
(60%)
create mode 100644
plugins/backup/kboss/src/main/resources/META-INF/cloudstack/kboss/spring-backup-kboss-context.xml
create mode 100644
plugins/backup/kboss/src/test/java/org/apache/cloudstack/backup/KbossBackupProviderTest.java
create mode 100644
plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/WebhookUrlValidator.java
create mode 100644
plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/WebhookUrlValidatorTest.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtMigrateResourceBetweenSecondaryStorages.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCleanupKbossValidationCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCleanupKbossVmBackupCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtCompressBackupCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtConsolidateVolumesCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtFinalizeBackupCompressionCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtMigrateBackupsBetweenSecondaryStoragesCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtPrepareValidationCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreKbossBackupCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtTakeBackupHashCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtTakeKbossBackupCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtValidateKbossVmCommandWrapper.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirTakeKbossBackupCommandWrapperTest.java
create mode 100644
plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreKbossBackupCommandWrapperTest.java
create mode 100644
plugins/storage/volume/ontap/src/test/java/org/apache/cloudstack/storage/utils/OntapStorageUtilsTest.java
create mode 100644
scripts/vm/hypervisor/kvm/imageserver/tests/test_nbd_entries.py
create mode 100644
server/src/main/java/org/apache/cloudstack/backup/BackupCompressionServiceJobController.java
create mode 100644
server/src/main/java/org/apache/cloudstack/backup/BackupValidationServiceJobController.java
create mode 100644
server/src/main/java/org/apache/cloudstack/backup/InternalBackupServiceImpl.java
create mode 100644
server/src/main/java/org/apache/cloudstack/backup/InternalBackupServiceJobController.java
create mode 100644
server/src/main/java/org/apache/cloudstack/backup/to/BackupScreenshotObject.java
create mode 100644
server/src/main/java/org/apache/cloudstack/backup/to/BackupScreenshotTO.java
copy
core/src/main/java/org/apache/cloudstack/storage/command/DeleteCommand.java =>
server/src/main/java/org/apache/cloudstack/storage/heuristics/presetvariables/Backup.java
(61%)
create mode 100644
server/src/test/java/org/apache/cloudstack/acl/ProjectRoleManagerImplTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/backup/BackupCompressionServiceJobControllerTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/backup/BackupValidationServiceJobControllerTest.java
create mode 100644
server/src/test/java/org/apache/cloudstack/backup/InternalBackupServiceImplTest.java
create mode 100644 test/integration/smoke/test_backup_recovery_kboss.py
create mode 100644 ui/src/views/offering/CreateBackupOffering.vue
create mode 100644 ui/tests/unit/components/view/DetailsTab.spec.js
create mode 100644 ui/tests/unit/components/view/InfoCard.spec.js
create mode 100644 ui/tests/unit/components/view/VolumesTab.spec.js
create mode 100644 ui/tests/unit/views/infra/UsageRecords.spec.js
copy
core/src/main/java/org/apache/cloudstack/storage/command/DeleteCommand.java =>
utils/src/main/java/com/cloud/utils/exception/BackupException.java (51%)
copy
api/src/main/java/org/apache/cloudstack/secstorage/heuristics/HeuristicType.java
=> utils/src/main/java/com/cloud/utils/exception/BackupProviderException.java
(68%)