This is an automated email from the ASF dual-hosted git repository. DaanHoogland pushed a change to branch add-errorprone in repository https://gitbox.apache.org/repos/asf/cloudstack.git
discard 0ea7f6a871c Merge branch 'ghi11438-errorprone-fixes' of https://github.com/apache/cloudstack into add-errorprone omit 45c3819fb21 Merge branch '4.20' of https://github.com/apache/cloudstack into ghi11438-errorprone-fixes omit f4baae44171 address possible npe omit 0d1174e3b99 Update api/src/main/java/org/apache/cloudstack/api/command/admin/backup/UpdateBackupOfferingCmd.java discard 15c14279860 change pr branch on which this wf is run - needs to be reverted discard 076d2508029 temp: verification related change - needs revert discard af22db25194 Update gha discard 683b7e53465 fix newline and whitespace issues discard 7c644a20a30 Update gha discard 585da2d18bf temporarily add 4.20 and PR branch to gha discard 4d7e8c581b5 add newline discard 76b00377b8f Add support for errorprone 2.24.1 static analysis tool and Github Action to check for issues reported omit d03a8457628 fix test omit fe21d12ab8c revert setup.py change omit 778bbaf9cc4 address comments omit 1c18ca8f7a3 Merge branch 'ghi11438-errorprone-fixes' of https://github.com/apache/cloudstack into ghi11438-errorprone-fixes omit 824257d3684 fix test omit 1414c0edf77 remove hardcoded hashcode omit 425062acc69 fix linter omit 39e50b339b9 revert errorprone plugin inclusion in pom omit e15d9025bc6 fix issues omit cce58d02717 fix test issues identified by errorprone omit e0d310920e7 fix test identified by errorprone omit 7028390f49f fix test identified by errorprone omit 10986aed333 fix tests omit f059f4a4c1f fix codespell check omit dfed744d4b0 fix copilot comments omit c057c30d501 fix tests omit a97e090027e Error Prone integration - Added error prone to the build omit 86dfab51a19 fix test omit 7e5e80ea066 Merge branch '4.20' of https://github.com/apache/cloudstack into ghi11438-errorprone-fixes omit f9ca9bef5f5 remove hardcoded hashcode omit 304a3eb4f6d fix linter omit b1026a226c7 revert errorprone plugin inclusion in pom omit a3f3918db94 fix issues omit 4d5f8194134 fix test issues identified by errorprone omit f42149960e5 fix test identified by errorprone omit ff5902cceba fix test identified by errorprone omit 5967128527d fix tests omit 666105b168a fix codespell check omit 0526416e4b8 fix copilot comments omit ca9fc493c4d fix tests omit 43162bfce8a Error Prone integration - Added error prone to the build add 89df3181648 [20.3] resource allocation add 4dd91feb277 [20.3] resource instance limits add 1593944553f [20.3] Implement/fix limit validation for projects add 7faa1b650b9 [20.3] resource allocation vpc add b025e85fc57 Check resource reservation on volume creation add 0edd577f4bb Fix: KVM Direct Download URL injection add 3b987f21afb [20.3] handle user's canned policy when a bucket is deleted add e0ef3a69472 Check resource reservation on volume snapshot creation add 06ee2fea76d Implement/fix limit validation for secondary storage add 4bcd509193f Fix resource limit reservation and check during StartVirtualMachine add 03dfe4d1f3e secondary storage resource limit for download add d0f67301579 volume download fix add 81a8ac8e1ff secondary storage resource limit for upload add 360b64ce1e3 Consider infinite resources when calculating secondary storage limit for upload operations add 0a4b4c6af05 [20.3] Address limit checks for VM, CPU, memory, volume, and primary storage add 497266270b9 Cleanup imported VM from disk on failure due to volume allocation + prevent duplicate volume and primary storage increment on import add e8f8aca694f Fix failing tests add dc7068a1351 Address public IP limit validations add 23b19a9776d review comments add 61afb4cb782 fix identation add 7cdcf571fac Fix xcpng test failures (#12812) add b497f58022c Fix K8s scaling and deletion issue if firewall rule is for ALL ports (#12806) add c19630f0a4f Fix snapshot copy resource limit concurrency add 4b7370a6017 upgrade: skip the upgrade paths which are not needed (#12881) add b22dbbe2d7a Fix Revert Instance to Snapshot with custom service offering (#12885) add 2416db2a443 Fix NPE on external/unmanaged instance import using custom offerings (#12884) add d38c1f8d125 Fix error message while creating local storage pool (#12767) add e2497cfc4df backport: default system vm template update implementation (#12935) add 6f1aa96b4cd engine/schema: fix new systemvm template is not registered during upgrade if hypervisor is not KVM (#12952) add c8599040b47 Updating pom.xml version numbers for release 4.20.3.0 add 8eb162cb996 Updating pom.xml version numbers for release 4.20.4.0-SNAPSHOT add c6936889f5c server: prevent adding vm compute details when not applicable (#12637) add 1fc4cb90bff Routed VR: accept packets from related and established connections (#12986) add 9f96c9d5eb9 Flexibilize public IP selection (#11076) add 08b1d387557 adaptive: honor user-provided capacityBytes when provider stats are unavailable (#13059) add a7c2a059f5d Update mysql java connector version to 8.4.0 (matching version for MySQL 8.4) (#12640) add c165806d3b8 Fix VPC network offerings listing in isolated network creation form (#12645) add c267ad39bcd Fix/flasharray delete rename destroy patch conflict (#13049) add ff9ee24d125 Fix local upload from browser failing due to ssvm cert not trusted (#13204) add b642bbe38e1 Fix the validation of CPVMs states in multiple zones (#13021) add 357186d64d0 flasharray: fall back to array capacity when pod has no quota (#13050) add a3970bb1530 Fix convert command's timeout for snapshot commands (#13210) add 7bc458ff85e Fix for usage server getting stuck due to duplicate VM events (#13019) add d35c1cd3ffe Remove the duplicate configkey json.content.type (#13264) add 0bbea200626 server: fix NPE when migrate vm away with volumes (#13131) add b26b70c40d6 Fix public IP range addition form (#13356) add 4244c2cc102 UI: Allow selecting network for VNF nics if template is a non deploy-as-is template (#13423) add 78d9cb5abd6 dynamic vm.network.throttling.rate global configuration (#12567) add b36f06482fa fix misleading error message (#13450) add 2eb9820f3cb framework-jobs,server: fix password obfuscation for job result and password with display=false (#13388) add c8b7816d5ee marvin: install mysql-connector-python >= 8.4.0 (#13482) add a4b102fb3f9 Fix skip DRS for a VM (#12994) 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 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 5b49d6aa3f7 Errorprone static analysis tool integration and fixes of reported issues (#12419) add b9746e55ceb Add support for errorprone 2.24.1 static analysis tool and Github Action to check for issues reported add 91469c8d5a6 add newline add 8e6e17127a7 temporarily add 4.20 and PR branch to gha add e1b90662cf3 Update gha add d3dc3d009a4 fix newline and whitespace issues add 755969fc6af Update gha add a3f1dcea86e temp: verification related change - needs revert add 4211524c4c6 change pr branch on which this wf is run - needs to be reverted 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 (0ea7f6a871c) \ N -- N -- N refs/heads/add-errorprone (4211524c4c6) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .github/workflows/ci.yml | 2 +- agent/pom.xml | 2 +- api/pom.xml | 2 +- .../main/java/com/cloud/agent/api/to/BucketTO.java | 7 + .../java/com/cloud/projects/ProjectService.java | 4 +- .../storage/VMTemplateStorageResourceAssoc.java | 3 +- .../java/com/cloud/user/ResourceLimitService.java | 19 +- .../org/apache/cloudstack/api/ApiArgValidator.java | 73 +- .../admin/vm/ResetVMPasswordCmdByAdmin.java | 2 +- .../user/account/AddAccountToProjectCmd.java | 3 +- .../command/user/account/AddUserToProjectCmd.java | 3 +- .../autoscale/CreateAutoScaleVmProfileCmd.java | 2 + .../autoscale/UpdateAutoScaleVmProfileCmd.java | 1 + .../backup/repository/AddBackupRepositoryCmd.java | 4 +- .../command/user/userdata/DeleteUserDataCmd.java | 17 +- .../user/userdata/LinkUserDataToTemplateCmd.java | 3 + .../api/command/user/vm/DeployVMCmd.java | 1 + .../api/command/user/vm/ResetVMPasswordCmd.java | 2 +- .../api/command/user/vm/ResetVMUserDataCmd.java | 1 + .../api/command/user/vm/UpdateVMCmd.java | 1 + .../cloudstack/api/response/DomainResponse.java | 2 +- .../cloudstack/api/response/HostTagResponse.java | 6 +- .../direct/download/DirectDownloadManager.java | 10 + .../apache/cloudstack/resourcelimit/Reserver.java} | 16 +- .../command/test/AddAccountToProjectCmdTest.java | 3 + .../user/userdata/DeleteUserDataCmdTest.java | 31 +- client/pom.xml | 2 +- core/pom.xml | 2 +- .../cloud/agent/api/storage/DownloadAnswer.java | 2 +- .../template/MetalinkTemplateDownloader.java | 7 + .../directdownload/DirectDownloadCommand.java | 11 +- .../direct/download/DirectDownloadHelper.java | 5 +- .../download/DirectTemplateDownloaderImpl.java | 11 +- .../download/MetalinkDirectTemplateDownloader.java | 57 +- .../download/NfsDirectTemplateDownloader.java | 79 ++- .../command/TemplateOrVolumePostUploadCommand.java | 8 + .../storage/command/UploadStatusCommand.java | 10 + .../download/NfsDirectTemplateDownloaderTest.java | 73 ++ debian/changelog | 12 + developer/pom.xml | 2 +- engine/api/pom.xml | 2 +- .../service/NetworkOrchestrationService.java | 5 +- .../service/VolumeOrchestrationService.java | 2 +- engine/components-api/pom.xml | 2 +- engine/orchestration/pom.xml | 2 +- .../com/cloud/vm/VirtualMachineManagerImpl.java | 29 +- .../engine/orchestration/NetworkOrchestrator.java | 619 +++++++++-------- .../engine/orchestration/VolumeOrchestrator.java | 24 +- engine/pom.xml | 2 +- engine/schema/pom.xml | 2 +- .../java/com/cloud/dc/dao/AccountVlanMapDao.java | 2 +- .../com/cloud/dc/dao/AccountVlanMapDaoImpl.java | 4 +- .../java/com/cloud/dc/dao/DomainVlanMapDao.java | 2 +- .../com/cloud/dc/dao/DomainVlanMapDaoImpl.java | 4 +- .../java/com/cloud/host/dao/HostTagsDaoImpl.java | 1 - .../cloud/network/dao/PublicIpQuarantineDao.java | 12 + .../network/dao/PublicIpQuarantineDaoImpl.java | 22 + .../com/cloud/upgrade/DatabaseUpgradeChecker.java | 4 +- .../cloud/upgrade/DatabaseVersionHierarchy.java | 5 +- .../upgrade/SystemVmTemplateRegistration.java | 10 +- .../upgrade/dao/DbUpgradeSystemVmTemplate.java | 16 +- .../com/cloud/upgrade/dao/Upgrade42020to42030.java | 4 - ...pshot217to224.java => Upgrade42030to42040.java} | 38 +- .../resourcedetail/ResourceDetailsDao.java | 2 + .../resourcedetail/ResourceDetailsDaoBase.java | 14 + .../resources/META-INF/db/schema-42000to42010.sql | 2 +- .../cloud/upgrade/DatabaseUpgradeCheckerTest.java | 21 + .../upgrade/SystemVmTemplateRegistrationTest.java | 2 +- engine/service/pom.xml | 2 +- engine/storage/cache/pom.xml | 2 +- engine/storage/configdrive/pom.xml | 2 +- engine/storage/datamotion/pom.xml | 2 +- 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 | 6 +- .../storage/image/BaseImageStoreDriverImpl.java | 26 +- engine/storage/volume/pom.xml | 2 +- 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 | 6 +- framework/direct-download/pom.xml | 2 +- framework/events/pom.xml | 2 +- framework/ipc/pom.xml | 2 +- framework/jobs/pom.xml | 2 +- .../framework/jobs/AsyncJobDataHelper.java | 150 ++++ .../framework/jobs/impl/AsyncJobManagerImpl.java | 44 +- .../cloudstack/framework/jobs/impl/AsyncJobVO.java | 22 +- .../framework/jobs/AsyncJobDataHelperTest.java | 249 +++++++ .../framework/jobs/AsyncJobManagerTest.java | 18 + framework/managed-context/pom.xml | 2 +- framework/pom.xml | 2 +- framework/quota/pom.xml | 2 +- framework/rest/pom.xml | 2 +- framework/security/pom.xml | 2 +- framework/spring/lifecycle/pom.xml | 2 +- framework/spring/module/pom.xml | 2 +- packaging/systemd/cloudstack-management.default | 2 +- packaging/systemd/cloudstack-usage.default | 2 +- plugins/acl/dynamic-role-based/pom.xml | 2 +- plugins/acl/project-role-based/pom.xml | 2 +- plugins/acl/static-role-based/pom.xml | 2 +- .../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 +- plugins/api/rate-limit/pom.xml | 2 +- plugins/api/solidfire-intg-test/pom.xml | 2 +- plugins/api/vmware-sioc/pom.xml | 2 +- plugins/backup/dummy/pom.xml | 2 +- plugins/backup/nas/pom.xml | 2 +- plugins/backup/networker/pom.xml | 2 +- plugins/backup/veeam/pom.xml | 2 +- plugins/ca/root-ca/pom.xml | 2 +- plugins/database/mysql-ha/pom.xml | 2 +- plugins/database/quota/pom.xml | 2 +- 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/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 | 79 ++- .../mom/webhook/WebhookDeliveryThread.java | 117 +++- .../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 | 14 +- .../mom/webhook/dao/WebhookDeliveryJoinDao.java | 6 +- .../webhook/dao/WebhookDeliveryJoinDaoImpl.java | 9 +- .../mom/webhook/WebhookApiServiceImplTest.java | 198 +++++- .../mom/webhook/WebhookDeliveryThreadTest.java | 7 + .../mom/webhook/WebhookUrlValidatorTest.java | 100 +++ plugins/ha-planners/skip-heurestics/pom.xml | 2 +- plugins/host-allocators/random/pom.xml | 2 +- plugins/hypervisors/baremetal/pom.xml | 2 +- .../manager/BareMetalTemplateAdapter.java | 1 - plugins/hypervisors/hyperv/pom.xml | 2 +- plugins/hypervisors/kvm/pom.xml | 2 +- .../LibvirtRestoreBackupCommandWrapper.java | 66 +- .../kvm/storage/KVMStorageProcessor.java | 4 +- .../org/apache/cloudstack/utils/qemu/QemuImg.java | 6 +- plugins/hypervisors/ovm/pom.xml | 2 +- plugins/hypervisors/ovm3/pom.xml | 2 +- plugins/hypervisors/simulator/pom.xml | 2 +- plugins/hypervisors/ucs/pom.xml | 2 +- plugins/hypervisors/vmware/pom.xml | 2 +- plugins/hypervisors/xenserver/pom.xml | 2 +- plugins/integrations/cloudian/pom.xml | 2 +- plugins/integrations/kubernetes-service/pom.xml | 2 +- ...ernetesClusterResourceModifierActionWorker.java | 3 +- .../KubernetesClusterScaleWorker.java | 8 +- plugins/integrations/prometheus/pom.xml | 2 +- plugins/metrics/pom.xml | 2 +- plugins/network-elements/bigswitch/pom.xml | 2 +- plugins/network-elements/brocade-vcs/pom.xml | 2 +- plugins/network-elements/cisco-vnmc/pom.xml | 2 +- plugins/network-elements/dns-notifier/pom.xml | 2 +- .../network-elements/elastic-loadbalancer/pom.xml | 2 +- plugins/network-elements/globodns/pom.xml | 6 +- .../network-elements/internal-loadbalancer/pom.xml | 2 +- plugins/network-elements/juniper-contrail/pom.xml | 2 +- plugins/network-elements/netscaler/pom.xml | 2 +- plugins/network-elements/nicira-nvp/pom.xml | 2 +- plugins/network-elements/nsx/pom.xml | 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 | 6 +- plugins/network-elements/vxlan/pom.xml | 2 +- .../outofbandmanagement-drivers/ipmitool/pom.xml | 2 +- .../nested-cloudstack/pom.xml | 2 +- .../outofbandmanagement-drivers/redfish/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/shutdown/pom.xml | 2 +- plugins/storage-allocators/random/pom.xml | 2 +- plugins/storage/image/default/pom.xml | 2 +- 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/minio/pom.xml | 2 +- .../driver/MinIOObjectStoreDriverImpl.java | 81 ++- .../driver/MinIOObjectStoreDriverImplTest.java | 7 +- plugins/storage/object/simulator/pom.xml | 2 +- plugins/storage/sharedfs/storagevm/pom.xml | 2 +- plugins/storage/volume/adaptive/pom.xml | 2 +- .../lifecycle/AdaptiveDataStoreLifeCycleImpl.java | 13 +- plugins/storage/volume/cloudbyte/pom.xml | 2 +- plugins/storage/volume/datera/pom.xml | 2 +- plugins/storage/volume/default/pom.xml | 2 +- plugins/storage/volume/flasharray/pom.xml | 2 +- .../adapter/flasharray/FlashArrayAdapter.java | 289 ++++++-- plugins/storage/volume/linstor/pom.xml | 2 +- plugins/storage/volume/nexenta/pom.xml | 2 +- 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 +- plugins/user-authenticators/ldap/pom.xml | 2 +- .../api/response/LdapConfigurationResponse.java | 16 +- .../apache/cloudstack/ldap/LdapManagerImpl.java | 24 +- plugins/user-authenticators/md5/pom.xml | 2 +- plugins/user-authenticators/oauth2/pom.xml | 2 +- .../oauth2/api/command/ListOAuthProvidersCmd.java | 52 +- .../oauth2/google/GoogleOAuth2Provider.java | 121 ++-- .../oauth2/google/GoogleOAuth2ProviderTest.java | 177 ++--- 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 | 14 +- quickcloud/pom.xml | 2 +- server/pom.xml | 2 +- server/src/main/java/com/cloud/api/ApiDBUtils.java | 4 + server/src/main/java/com/cloud/api/ApiServer.java | 19 +- server/src/main/java/com/cloud/api/ApiServlet.java | 20 +- .../com/cloud/api/dispatch/ParamProcessWorker.java | 6 + .../java/com/cloud/api/query/QueryManagerImpl.java | 63 +- .../com/cloud/api/query/vo/AsyncJobJoinVO.java | 3 +- .../main/java/com/cloud/configuration/Config.java | 9 - .../configuration/ConfigurationManagerImpl.java | 112 +-- .../consoleproxy/ConsoleProxyManagerImpl.java | 9 +- .../com/cloud/dc/dao/DedicatedResourceDao.java | 6 + .../com/cloud/dc/dao/DedicatedResourceDaoImpl.java | 12 + .../com/cloud/network/IpAddressManagerImpl.java | 91 ++- .../java/com/cloud/network/NetworkServiceImpl.java | 44 +- .../network/element/VirtualRouterElement.java | 24 +- .../java/com/cloud/network/vpc/VpcManagerImpl.java | 35 +- .../com/cloud/projects/ProjectManagerImpl.java | 149 ++-- .../com/cloud/resource/ResourceManagerImpl.java | 57 +- .../cloud/resourcelimit/CheckedReservation.java | 117 +++- .../com/cloud/resourcelimit/ReservationHelper.java | 16 +- .../resourcelimit/ResourceLimitManagerImpl.java | 186 +++-- .../com/cloud/server/ManagementServerImpl.java | 69 +- .../main/java/com/cloud/server/StatsCollector.java | 14 +- .../cloud/storage/ImageStoreUploadMonitorImpl.java | 161 ++++- .../java/com/cloud/storage/StorageManagerImpl.java | 18 +- .../com/cloud/storage/VolumeApiServiceImpl.java | 637 +++++++++-------- .../storage/download/DownloadActiveState.java | 5 + .../cloud/storage/download/DownloadErrorState.java | 5 + .../storage/download/DownloadInactiveState.java | 6 + ...edState.java => DownloadLimitReachedState.java} | 21 +- .../cloud/storage/download/DownloadListener.java | 92 ++- .../com/cloud/storage/download/DownloadState.java | 6 +- .../storage/snapshot/SnapshotManagerImpl.java | 149 ++-- .../cloud/template/HypervisorTemplateAdapter.java | 41 +- .../com/cloud/template/TemplateAdapterBase.java | 3 - .../com/cloud/template/TemplateManagerImpl.java | 306 ++++---- .../java/com/cloud/user/AccountManagerImpl.java | 8 +- .../main/java/com/cloud/vm/UserVmManagerImpl.java | 463 +++++++------ .../cloud/vm/snapshot/VMSnapshotManagerImpl.java | 70 +- .../cloudstack/acl/ProjectRoleManagerImpl.java | 17 +- .../annotation/AnnotationManagerImpl.java | 9 +- .../cloudstack/backup/BackupManagerImpl.java | 2 +- .../cloudstack/cluster/ClusterDrsServiceImpl.java | 34 +- .../diagnostics/DiagnosticsServiceImpl.java | 37 +- .../direct/download/DirectDownloadManagerImpl.java | 27 +- .../volume/VolumeImportUnmanageManagerImpl.java | 37 +- .../cloudstack/vm/UnmanagedVMsManagerImpl.java | 520 ++++++++------ .../cloud/api/dispatch/ParamProcessWorkerTest.java | 20 + .../com/cloud/api/query/QueryManagerImplTest.java | 232 +++++++ .../java/com/cloud/hypervisor/KVMGuruTest.java | 50 +- .../com/cloud/network/IpAddressManagerTest.java | 1 + .../com/cloud/network/vpc/VpcManagerImplTest.java | 8 +- .../cloud/resource/ResourceManagerImplTest.java | 90 +++ .../resourcelimit/CheckedReservationTest.java | 17 +- .../ResourceLimitManagerImplTest.java | 89 +-- .../com/cloud/server/ManagementServerImplTest.java | 61 +- .../java/com/cloud/server/StatsCollectorTest.java | 43 ++ .../cloud/storage/VolumeApiServiceImplTest.java | 52 +- .../storage/snapshot/SnapshotManagerImplTest.java | 4 +- .../storage/snapshot/SnapshotManagerTest.java | 11 +- .../cloud/template/TemplateManagerImplTest.java | 467 +++---------- .../com/cloud/user/AccountManagerImplTest.java | 33 +- .../java/com/cloud/vm/UserVmManagerImplTest.java | 193 ++++-- .../cloud/vm/snapshot/VMSnapshotManagerTest.java | 58 +- .../java/com/cloud/vpc/MockNetworkManagerImpl.java | 2 +- .../cloud/vpc/MockResourceLimitManagerImpl.java | 36 +- .../cloudstack/acl/ProjectRoleManagerImplTest.java | 245 +++++++ .../cluster/ClusterDrsServiceImplTest.java | 46 +- .../diagnostics/DiagnosticsServiceImplTest.java | 133 ++++ .../VolumeImportUnmanageManagerImplTest.java | 3 - .../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 167 +++-- services/console-proxy/pom.xml | 2 +- services/console-proxy/rdpconsole/pom.xml | 2 +- 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 +- .../storage/resource/HttpUploadServerHandler.java | 2 + .../resource/NfsSecondaryStorageResource.java | 33 +- .../storage/template/DownloadManagerImpl.java | 2 +- setup/db/deploy-db-dev.sh | 5 +- systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 67 +- systemvm/debian/opt/cloud/bin/cs/CsNetfilter.py | 2 + systemvm/pom.xml | 2 +- .../test_redundant_router_deployment_planning.py | 770 +++++++++++---------- test/integration/smoke/test_public_ip_range.py | 68 +- test/integration/smoke/test_quarantined_ips.py | 8 +- test/integration/smoke/test_webhook_delivery.py | 67 +- test/integration/smoke/test_webhook_lifecycle.py | 83 ++- test/pom.xml | 2 +- tools/apidoc/pom.xml | 2 +- tools/checkstyle/pom.xml | 2 +- tools/devcloud-kvm/pom.xml | 2 +- tools/devcloud4/pom.xml | 2 +- tools/docker/Dockerfile | 4 +- tools/docker/Dockerfile.marvin | 4 +- tools/marvin/pom.xml | 2 +- tools/marvin/setup.py | 4 +- tools/pom.xml | 2 +- ui/package.json | 2 +- ui/public/locales/en.json | 6 + ui/public/locales/pt_BR.json | 1 + ui/src/config/section/compute.js | 3 +- 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/user.js | 3 +- ui/src/style/vars.less | 2 +- ui/src/utils/{permissions.js => ssvmProbe.js} | 13 +- ui/src/utils/util.js | 9 + ui/src/views/compute/wizard/VnfNicsSelection.vue | 2 +- ui/src/views/image/RegisterOrUploadIso.vue | 50 +- ui/src/views/image/RegisterOrUploadTemplate.vue | 45 +- ui/src/views/infra/network/IpRangesTabPublic.vue | 4 + ui/src/views/network/CreateIsolatedNetworkForm.vue | 28 +- ui/src/views/storage/UploadLocalVolume.vue | 133 ++-- usage/pom.xml | 2 +- .../java/com/cloud/usage/UsageSanityChecker.java | 2 +- utils/pom.xml | 2 +- .../src/main/java/com/cloud/utils/StringUtils.java | 23 + utils/src/main/java/com/cloud/utils/UriUtils.java | 145 +++- vmware-base/pom.xml | 2 +- 357 files changed, 7644 insertions(+), 3667 deletions(-) copy api/src/main/java/{com/cloud/network/rules/LoadBalancer.java => org/apache/cloudstack/resourcelimit/Reserver.java} (68%) create mode 100644 core/src/test/java/org/apache/cloudstack/direct/download/NfsDirectTemplateDownloaderTest.java copy engine/schema/src/main/java/com/cloud/upgrade/dao/{UpgradeSnapshot217to224.java => Upgrade42030to42040.java} (70%) 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 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 copy api/src/main/java/com/cloud/exception/InvalidParameterValueException.java => server/src/main/java/com/cloud/resourcelimit/ReservationHelper.java (72%) copy server/src/main/java/com/cloud/storage/download/{DownloadAbandonedState.java => DownloadLimitReachedState.java} (67%) create mode 100644 server/src/test/java/org/apache/cloudstack/acl/ProjectRoleManagerImplTest.java copy ui/src/utils/{permissions.js => ssvmProbe.js} (69%)
