This is an automated email from the ASF dual-hosted git repository. pearl11594 pushed a change to branch rename-ambiguous-globalsetting in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from c9a9c4b2c78 address comments add 4c801e24f44 Fix Create dropdown menu not changing language (#10023) add 810c4108c7b engine/schema: Add access modifier to `VolumeVO` (#9394) add 47f60190a92 .github: fix test_certauthority_root in 4.19 (#10037) add 971a5b25ec3 Remove SNI option that is correct as default in _run.sh (#10028) add 9231c1c6ba9 Merge remote-tracking branch 'origin/4.19' into 4.20 add e57a82a4f52 UI: Fixes in the Usage UI (#10000) add 48767611546 ui: Allow font-awesome icon usage and optimise icon size inconsistency (#9744) add f9b176744e6 SAML2: add cookie with HttpOnly too #10013 (#10047) add 38c7c6e9865 UI: remove duplicated Instance Name in Public IP details page (#10087) add 14460f49e15 Merge remote-tracking branch 'apache/4.19' into 4.20 add ac19379c967 UI: create VPC network offering with conserve mode (#10082) add a278849507f server: fix typo removeaccessvpn in VirtualRouterElement (#10086) add 8639ba8b013 server: simplify role change validation (#9173) add a2f2e87c120 linstor: improve heartbeat check with also asking linstor (#10105) add b4ad04badfb Allow config drive deletion of migrated VM, on host maintenance (#10045) add a9587bfd2e3 kvm-storage: provide isVMMigrate information to storage plugins (#10093) add 0944fa1c9cf set ulimit for server according to redhat spec (#10040) add 188eacd9eb1 Certificate and VM hostname validation improvements (#10051) add ed1b145a3a0 VR: apply iptables rules when add/remove static routes (#10064) add b7f0aac5194 Merge branch '4.19' into 4.20 add cbac6cc05bd Add ownership selection to VPC form (#10124) add 330ed25a6c1 Support to enable/disable VM High Availability manager and related alerts (#10118) add 32af4a25d01 Update ownership selection component to be language independent (#10052) add 75eda38b6b8 UI: fix cannot open 'Edit tags' modal for static routes (#10065) add 5c01cff3043 VR: fix site-2-site VPN if split connections is enabled (#10067) add 41c27e116c6 Merge release branch 4.19 to 4.20 add 3d0b4fca847 UI: Add cluster arch type to the zone creation wizard (#10080) add d8c321d57ae check tags while fetching storage pool for importing vm (#9764) add 79316450d19 Merge release branch 4.19 to 4.20 add cfafcaeb01b log name change after merge forward add a4224e58ccf Improve logging to include more identifiable information (#9873) add 9bc283e5c26 Introducing granular command timeouts global setting (#9659) add bd488c4bba0 server, plugin: enhance storage stats for IOPS (#10034) add 21416cd4034 Restrict the migration of volumes attached to VMs in Starting state (#9725) add 4f9c3492ec9 Merge release branch 4.19 to 4.20 add ab76d3c9ccb merge errors fixed add afc95f1ccc5 CheckOnHostCommand: add missing timeout setting (#9677) add 7adc7329922 upgrade: consider multiple hypervisors and secondary storages (#10046) add fce77733a5d no retrieval of null hosts (#10175) add 35fe19f096d systemvm: fix keystore is reset when patch a systemvm (#9900) add e2cfddb1b6a Merge branch '4.19' into 4.20 add d9a7b6e511b Rollback of changes with errors during the VM assign (#7061) add cf5bd803110 consider a valid ipv4 address as a validish ipv4 /32 cidr (#10174) add e278bcd08ac [VMware] Consider CD/DVD drive when calculating next free unit number for volume attachment over IDE controller (#9644) add bf1ff10a906 Merge branch '4.19' into 4.20 add 2300c1caa3a Add project-user association normalization script to 4.20.1 upgrade (#10116) add 796bd4f72cc Clean up network permissions on account deletion (#10176) add 9967bb3fe89 fix slider component for global settings of the range type (#10187) add 9f594c96991 Merge branch '4.19' into 4.20 add a163831b7e8 Maintenance mode: Add host to deployment planner avoid list to fix local storage vm migration (#9892) add c5e8f63452a Fix NPE issues during host rolling maintenance, due to host tags and custom constrained/unconstrained service offering (#9844) add 00c659b7a76 api: fix access for listSystemVmUsageHistory (#10032) add 0b8076c38cf Configure org.eclipse.jetty.server.Request.maxFormKeys from server.properties and increase the default value (#10214) add 70776b067a4 fix listing of VMs by network (#10204) add 1ff68cf9b10 linstor: Fix ZFS snapshot backup (#10219) add 5167c3b613f Merge branch '4.19' into 4.20 add 96b757c35bc packaging: have noarch defined for rpms (#10057) add 7e295ec4e19 [KVM] Add watchdog model none to disable use of watchdogs on KVM agent (#10203) add 91f1adab862 UI: set redundant state as N/A for non-redundant routers (#10227) add d053bb97ecf Fix to allow actions on the network if it belongs to a project (#9550) add b186272f687 kvm: add SCSI controllers based on the number of virtio-SCSI disks (#9823) add 09f154796a2 server: Fix host CPU number (#10218) add 1e59f5cd0cd ui: fix passing vlan while creating vpc tier (#10239) add 20759187b31 Fix local storage deletion cases (#10231) add 4d9fd1b73fa Added displaynetwork option in filters for listnetwork only for admin (#10209) add c9fea62276c [UI] Switch between allocated and used capacity on dashboard (#10215) add 2aa2e92dff4 Handle special characters when exporting ACLs (#10259) add 4787885fc09 cks: prevent npe on cluster listing with removed offering (#10075) add 0a77eb7f85f deal with NPE during host reconnect (#10158) add 34d2a3bc86d Merge branch '4.19' into 4.20 add 33a37da9ec7 server: investigate pending HA work when executing in new MS session (#10167) add f652ad0d98c extra null guard (#10264) add 717ce981d4d Merge release branch 4.19 to 4.20 add 4201a2dc11b Fix Usage job not executing successfully (#10244) add 1c84ce4e23e server: fix attach uploaded volume (#10267) add 6f03f9e726e validate inserted values in numeric global settings (#10279) add 3313cc58295 ui: fix loading for hypervisor filter in serachview (#10292) add ee0dc5b2d64 list hosts API fix, when any stale entries exists on storage_pool_host_ref for the removed pools (#9852) add 0f544c9a3b0 api/ui: add specifyvlan to network response (#10236) add b9890875cc1 CKS: use --delete-emptydir-data instead of deprecated --delete-local-data (#10234) add b93589b5bdf server: reset 2fa user configuration on incomplete setup (#10247) add d9af9bdb36e fix SQL syntax erros and target 419 (#10273) add c70e4e29be4 fix npe on account creation (#10274) add 0fbf6379f98 UI: Fix domain view when opening details for a specific domainid (#10245) add bbe9c905926 packaging: support both mysql and mariadb on EL8/EL9 (#9941) add 641a60670e1 changed the kubernetestool url (#10295) add a335feab6a3 fix allocation of vmfs storage pools (#10201) add 97be6f2e5d1 ui: fix column filter for templates, isos (#10288) add ae2ffbe40bf Merge remote-tracking branch 'apache/4.19' into 4.20 add 0b5a5e8043d api,agent,server,engine-schema: scalability improvements (#9840) add fbb1ff78d63 Static Routes: fix check on wrong global configuration (#10066) add 5447950f095 Allow creation of Shared Networks without IP range if network offering has no services - specifyvlan = true (#10168) add 27efc779eac api,ui: fix empty source cidr value for firewall rule (#10208) add 0d5047b8b73 Improve listing of HA and non-HA hosts when ha.tag setting is defined and hosts have multiple tags along with ha tag (#10240) add 085bd3bda5f Merge branch '4.19' into 4.20 add 986ec81b664 Add direct download option to Users GUI (#10193) add c5afee21018 UI improvements (#9773) add 50a54dde5cc Make Description as optional in network acl list (#10343) add 5aa79a6e05d UI: Add offer ha column to system offerings table (#10297) add 60af31c9c0b Decrypt zone, cluster, storage details for configuration values (#10237) add fa5c11e6b2e UI: list backup offerings by zoneid when assign vm to backup offering (#10217) add c1bc57b844b List default network offerings when multiple physical networks for guest traffic type exists (#10222) add 238d0c5e30a Fix NPE while checking for user data provider (#10255) add 37c29f82eda server: fix snapshot physical size (#10216) add 1b2f6c99985 Hide register template, create/upload volume and create vpc buttons when zone is not created. (#10243) add 55e8eaab89c Linstor: encryption support (#10126) add 90c960eeed9 VPC VR: fix ACL between tier and private gateway (#10268) add df99a294832 linstor: Fix using multiple primary storage with same linstor-controller (#10280) add 802bf5fce7c Revert "server: fix attach uploaded volume (#10267)" (#10323) add a627ab67c29 server: fix pod retrieval during volume attach (#10324) add c09720a19a4 systemvm-registration: update seeded template_store_ref sizes (#10317) add 3337f425ffd Primera pure patches & various small fixes (#10132) add a1117acbdfb List only untagged offerings for Shared networks when tag isn't passed (#10320) add 58a63f64fd6 Fix VMWare leftovers when deleting VM without root disk (#9735) add d453c63848f cleanup VM IP after expunge in redundant VPC (#10183) add d920aba176c server: fix scale vm with same disk offering id (#10235) add d3170bfa165 UI: Fixup missing buttons (#10357) add 4f604c00b65 Support virtio-blk root disk controller (#10229) add aa6c581e405 Add the option to filter by host when retrieving of unregistered VMs (#9925) add ae1d7cc8609 Fix private gateway acl on static routes (#10262) add 4f3e8e8c5a6 Merge branch '4.19' into 4.20 add 517ba7c1e85 Merge branch '4.20' of https://github.com/apache/cloudstack into rename-ambiguous-globalsetting No new revisions were added by this update. Summary of changes: .python-version | 2 +- agent/conf/agent.properties | 8 + agent/src/main/java/com/cloud/agent/Agent.java | 813 +++++----- .../src/main/java/com/cloud/agent/AgentShell.java | 57 +- .../src/main/java/com/cloud/agent/IAgentShell.java | 2 + .../cloud/agent/properties/AgentProperties.java | 8 + .../test/java/com/cloud/agent/AgentShellTest.java | 7 + agent/src/test/java/com/cloud/agent/AgentTest.java | 257 ++++ .../com/cloud/agent/api/to/LoadBalancerTO.java | 24 +- .../main/java/com/cloud/agent/api/to/NfsTO.java | 8 + api/src/main/java/com/cloud/agent/api/to/S3TO.java | 8 + .../com/cloud/agent/api/to/StorageFilerTO.java | 3 +- .../main/java/com/cloud/agent/api/to/SwiftTO.java | 8 + .../cloud/exception/StorageAccessException.java | 4 +- .../main/java/com/cloud/network/Ipv6Service.java | 2 +- .../java/com/cloud/network/NetworkProfile.java | 8 + .../com/cloud/network/lb/LoadBalancingRule.java | 4 + .../cloud/network/vpn/RemoteAccessVpnService.java | 2 +- .../region/ha/GlobalLoadBalancingRulesService.java | 3 +- api/src/main/java/com/cloud/storage/Storage.java | 141 +- .../main/java/com/cloud/storage/StorageStats.java | 3 + api/src/main/java/com/cloud/vm/NicProfile.java | 5 +- api/src/main/java/com/cloud/vm/UserVmService.java | 2 +- .../main/java/com/cloud/vm/VmDetailConstants.java | 1 + .../org/apache/cloudstack/acl/RoleService.java | 5 + .../org/apache/cloudstack/api/ApiConstants.java | 12 +- .../api/command/admin/domain/ListDomainsCmd.java | 7 +- .../api/command/admin/host/UpdateHostCmd.java | 5 +- .../api/command/admin/vm/AssignVMCmd.java | 21 +- .../api/command/user/account/ListAccountsCmd.java | 5 +- .../user/firewall/CreateFirewallRuleCmd.java | 7 +- .../snapshot/CreateSnapshotFromVMSnapshotCmd.java | 15 +- .../api/command/user/vpn/RemoveVpnUserCmd.java | 2 +- .../api/response/HostForMigrationResponse.java | 447 +----- .../cloudstack/api/response/HostResponse.java | 8 +- .../api/response/ManagementServerResponse.java | 12 +- .../cloudstack/api/response/NetworkResponse.java | 8 + .../api/response/StoragePoolResponse.java | 12 + .../cloudstack/cluster/ClusterDrsAlgorithm.java | 7 +- .../OutOfBandManagementService.java | 2 +- .../apache/cloudstack/vm/UnmanagedInstanceTO.java | 26 +- .../com/cloud/agent/api/to/LoadBalancerTOTest.java | 20 +- .../command/admin/domain/ListDomainsCmdTest.java | 13 +- .../command/user/account/ListAccountsCmdTest.java | 15 +- .../user/firewall/CreateFirewallRuleCmdTest.java | 91 ++ client/conf/server.properties.in | 3 + .../java/org/apache/cloudstack/ServerDaemon.java | 10 + .../com/cloud/agent/api/CheckOnHostCommand.java | 3 +- ...egisterVMCommand.java => CleanupVMCommand.java} | 19 +- .../com/cloud/agent/api/GetStorageStatsAnswer.java | 36 +- .../java/com/cloud/agent/api/ReadyCommand.java | 20 +- .../java/com/cloud/agent/api/StartupAnswer.java | 14 +- .../java/com/cloud/resource/ServerResource.java | 8 + .../apache/cloudstack/storage/to/ImageStoreTO.java | 13 +- .../cloudstack/storage/to/PrimaryDataStoreTO.java | 13 +- .../cloudstack/storage/to/TemplateObjectTO.java | 5 +- .../cloudstack/storage/to/VolumeObjectTO.java | 5 +- .../cloud/agent/api/GetStorageStatsAnswerTest.java | 81 + debian/control | 2 +- .../java/com/cloud/vm/VirtualMachineManager.java | 22 +- .../service/NetworkOrchestrationService.java | 3 + .../engine/subsystem/api/storage/EndPoint.java | 2 + .../api/storage/HypervisorHostListener.java | 10 + .../api/storage/PrimaryDataStoreDriver.java | 8 + .../engine/subsystem/api/storage/TemplateInfo.java | 2 + .../subsystem/api/storage/TemplateService.java | 3 +- .../main/java/com/cloud/agent/AgentManager.java | 4 + .../src/main/java/com/cloud/agent/Listener.java | 8 + .../java/com/cloud/capacity/CapacityManager.java | 15 +- .../cloud/configuration/ConfigurationManager.java | 4 +- .../java/com/cloud/ha/HighAvailabilityManager.java | 25 +- .../java/com/cloud/network/IpAddressManager.java | 5 +- .../network/lb/LoadBalancingRulesManager.java | 4 +- .../com/cloud/network/rules/FirewallManager.java | 6 +- .../java/com/cloud/network/rules/RulesManager.java | 5 +- .../network/security/SecurityGroupManager.java | 5 +- .../java/com/cloud/network/vpc/VpcManager.java | 3 + .../java/com/cloud/resource/ResourceManager.java | 6 +- .../java/com/cloud/storage/StorageManager.java | 13 +- .../java/com/cloud/template/TemplateManager.java | 4 +- .../java/com/cloud/vm/VmWorkJobHandlerProxy.java | 8 +- .../java/com/cloud/agent/manager/AgentAttache.java | 30 +- .../com/cloud/agent/manager/AgentManagerImpl.java | 415 ++++-- .../cloud/agent/manager/ClusteredAgentAttache.java | 8 +- .../agent/manager/ClusteredAgentManagerImpl.java | 132 +- .../agent/manager/ClusteredDirectAgentAttache.java | 8 +- .../cloud/agent/manager/ConnectedAgentAttache.java | 4 +- .../cloud/agent/manager/DirectAgentAttache.java | 27 +- .../java/com/cloud/agent/manager/DummyAttache.java | 4 +- .../cluster/agentlb/AgentLoadBalancerPlanner.java | 3 +- .../ClusterBasedAgentLoadBalancerPlanner.java | 21 +- .../com/cloud/vm/VirtualMachineManagerImpl.java | 331 ++-- .../com/cloud/vm/VirtualMachinePowerStateSync.java | 5 +- .../cloud/vm/VirtualMachinePowerStateSyncImpl.java | 218 +-- .../com/cloud/vm/VmWorkJobWakeupDispatcher.java | 11 +- .../entity/api/DataCenterResourceManagerImpl.java | 2 +- .../datacenter/entity/api/db/EngineClusterVO.java | 8 + .../entity/api/db/EngineDataCenterVO.java | 8 + .../datacenter/entity/api/db/EngineHostPodVO.java | 8 + .../datacenter/entity/api/db/EngineHostVO.java | 5 +- .../entity/api/db/dao/EngineClusterDaoImpl.java | 2 +- .../entity/api/db/dao/EngineDataCenterDaoImpl.java | 2 +- .../entity/api/db/dao/EngineHostDaoImpl.java | 2 +- .../entity/api/db/dao/EngineHostPodDaoImpl.java | 2 +- .../engine/orchestration/NetworkOrchestrator.java | 265 ++-- .../engine/orchestration/StorageOrchestrator.java | 11 +- .../engine/orchestration/VolumeOrchestrator.java | 10 +- .../cloud/agent/manager/AgentManagerImplTest.java | 22 +- .../agent/manager/ConnectedAgentAttacheTest.java | 16 +- .../agent/manager/DirectAgentAttacheTest.java | 6 +- .../java/com/cloud/capacity/dao/CapacityDao.java | 2 + .../com/cloud/capacity/dao/CapacityDaoImpl.java | 12 + .../main/java/com/cloud/dc/ClusterDetailsDao.java | 6 +- .../java/com/cloud/dc/ClusterDetailsDaoImpl.java | 34 +- .../main/java/com/cloud/dc/ClusterDetailsVO.java | 18 +- .../src/main/java/com/cloud/dc/HostPodVO.java | 8 + .../schema/src/main/java/com/cloud/dc/VlanVO.java | 24 +- .../main/java/com/cloud/dc/VmwareDatacenterVO.java | 5 +- .../src/main/java/com/cloud/dc/dao/ClusterDao.java | 16 +- .../main/java/com/cloud/dc/dao/ClusterDaoImpl.java | 71 +- .../cloud/dc/dao/DataCenterIpAddressDaoImpl.java | 3 +- .../com/cloud/dc/dao/DataCenterVnetDaoImpl.java | 2 +- .../main/java/com/cloud/domain/DomainDetailVO.java | 18 +- .../src/main/java/com/cloud/domain/DomainVO.java | 5 +- .../com/cloud/domain/dao/DomainDetailsDao.java | 5 +- .../com/cloud/domain/dao/DomainDetailsDaoImpl.java | 26 +- .../src/main/java/com/cloud/host/HostVO.java | 2 +- .../src/main/java/com/cloud/host/dao/HostDao.java | 46 +- .../main/java/com/cloud/host/dao/HostDaoImpl.java | 497 +++--- .../com/cloud/network/LBHealthCheckPolicyVO.java | 8 + .../com/cloud/network/as/AutoScalePolicyVO.java | 5 +- .../com/cloud/network/as/AutoScaleVmGroupVO.java | 9 +- .../com/cloud/network/as/AutoScaleVmProfileVO.java | 5 +- .../java/com/cloud/network/as/ConditionVO.java | 5 +- .../main/java/com/cloud/network/as/CounterVO.java | 5 +- .../network/dao/ExternalLoadBalancerDeviceVO.java | 8 + .../com/cloud/network/dao/IPAddressDaoImpl.java | 2 +- .../java/com/cloud/network/dao/IPAddressVO.java | 5 +- .../cloud/network/dao/LBStickinessPolicyVO.java | 8 + .../java/com/cloud/network/dao/LoadBalancerVO.java | 8 + .../java/com/cloud/network/dao/NetworkDaoImpl.java | 3 +- .../dao/PhysicalNetworkServiceProviderVO.java | 8 + .../com/cloud/network/dao/PhysicalNetworkVO.java | 8 + .../com/cloud/network/dao/RemoteAccessVpnVO.java | 6 + .../network/dao/Site2SiteCustomerGatewayVO.java | 8 + .../network/dao/Site2SiteVpnConnectionVO.java | 8 + .../cloud/network/dao/Site2SiteVpnGatewayVO.java | 8 + .../com/cloud/network/rules/FirewallRuleVO.java | 5 +- .../network/security/SecurityGroupRuleVO.java | 9 + .../cloud/network/security/SecurityGroupVO.java | 9 + .../com/cloud/network/vpc/NetworkACLItemVO.java | 5 +- .../java/com/cloud/network/vpc/NetworkACLVO.java | 2 +- .../java/com/cloud/network/vpc/VpcGatewayVO.java | 7 +- .../java/com/cloud/network/vpc/VpcOfferingVO.java | 6 +- .../src/main/java/com/cloud/network/vpc/VpcVO.java | 6 +- .../com/cloud/offerings/NetworkOfferingVO.java | 5 +- .../com/cloud/projects/ProjectInvitationVO.java | 7 +- .../main/java/com/cloud/projects/ProjectVO.java | 4 +- .../cloud/secstorage/CommandExecLogDaoImpl.java | 3 +- .../com/cloud/service/dao/ServiceOfferingDao.java | 4 +- .../cloud/service/dao/ServiceOfferingDaoImpl.java | 11 +- .../src/main/java/com/cloud/storage/BucketVO.java | 8 +- .../java/com/cloud/storage/DiskOfferingVO.java | 8 + .../java/com/cloud/storage/SnapshotPolicyVO.java | 8 + .../java/com/cloud/storage/SnapshotScheduleVO.java | 17 +- .../main/java/com/cloud/storage/SnapshotVO.java | 8 +- .../main/java/com/cloud/storage/VMTemplateVO.java | 4 +- .../src/main/java/com/cloud/storage/VolumeVO.java | 62 +- .../storage/dao/StoragePoolDetailsDaoImpl.java | 2 +- .../com/cloud/storage/dao/StoragePoolHostDao.java | 2 +- .../cloud/storage/dao/StoragePoolHostDaoImpl.java | 24 +- .../java/com/cloud/storage/dao/VMTemplateDao.java | 5 +- .../com/cloud/storage/dao/VMTemplateDaoImpl.java | 60 +- .../java/com/cloud/storage/dao/VolumeDaoImpl.java | 8 - .../upgrade/SystemVmTemplateRegistration.java | 56 +- .../cloud/upgrade/dao/DatabaseAccessObject.java | 11 + .../java/com/cloud/upgrade/dao/DbUpgradeUtils.java | 6 + .../com/cloud/upgrade/dao/Upgrade41700to41710.java | 68 +- .../com/cloud/upgrade/dao/Upgrade42000to42010.java | 39 + .../main/java/com/cloud/user/AccountDetailVO.java | 18 +- .../java/com/cloud/user/AccountDetailsDao.java | 5 +- .../java/com/cloud/user/AccountDetailsDaoImpl.java | 28 +- .../main/java/com/cloud/user/UserAccountVO.java | 9 +- .../src/main/java/com/cloud/user/UserVO.java | 2 +- .../java/com/cloud/user/dao/AccountDaoImpl.java | 2 +- .../main/java/com/cloud/vm/InstanceGroupVO.java | 7 + .../schema/src/main/java/com/cloud/vm/NicVO.java | 5 +- .../java/com/cloud/vm/dao/ConsoleProxyDao.java | 2 +- .../java/com/cloud/vm/dao/ConsoleProxyDaoImpl.java | 32 +- .../java/com/cloud/vm/dao/NicIpAliasDaoImpl.java | 3 +- .../java/com/cloud/vm/dao/NicSecondaryIpVO.java | 9 + .../main/java/com/cloud/vm/dao/VMInstanceDao.java | 21 +- .../java/com/cloud/vm/dao/VMInstanceDaoImpl.java | 247 ++- .../java/com/cloud/vm/snapshot/VMSnapshotVO.java | 8 + .../cloud/vm/snapshot/dao/VMSnapshotDaoImpl.java | 2 +- .../java/org/apache/cloudstack/acl/RoleVO.java | 3 +- .../cloudstack/affinity/AffinityGroupVO.java | 6 +- .../apache/cloudstack/backup/BackupScheduleVO.java | 7 + .../org/apache/cloudstack/backup/BackupVO.java | 7 + .../cluster/ClusterDrsPlanMigrationVO.java | 8 + .../cloudstack/cluster/ClusterDrsPlanVO.java | 8 + .../download/DirectDownloadCertificateVO.java | 8 + .../engine/cloud/entity/api/db/VMEntityVO.java | 3 +- .../lb/ApplicationLoadBalancerRuleVO.java | 8 + .../org/apache/cloudstack/network/BgpPeerVO.java | 5 +- .../network/dao/NetworkPermissionDao.java | 7 + .../network/dao/NetworkPermissionDaoImpl.java | 15 + .../region/gslb/GlobalLoadBalancerRuleVO.java | 10 + .../resourcedetail/ResourceDetailsDao.java | 22 +- .../resourcedetail/ResourceDetailsDaoBase.java | 49 +- .../apache/cloudstack/secstorage/HeuristicVO.java | 4 +- .../datastore/db/ImageStoreDetailsDaoImpl.java | 10 +- .../storage/datastore/db/ImageStoreVO.java | 8 + .../storage/datastore/db/ObjectStoreVO.java | 8 + .../datastore/db/PrimaryDataStoreDaoImpl.java | 8 +- .../storage/datastore/db/StoragePoolVO.java | 14 +- .../cloudstack/storage/sharedfs/SharedFSVO.java | 8 + .../cloudstack/vm/schedule/VMScheduleVO.java | 6 + .../cloudstack/vm/schedule/VMScheduledJobVO.java | 10 + .../cloud.idempotent_update_api_permission.sql | 52 + .../resources/META-INF/db/schema-41910to41920.sql | 22 + .../META-INF/db/schema-42000to42010-cleanup.sql | 3 + .../resources/META-INF/db/schema-42000to42010.sql | 15 + .../db/views/cloud.network_offering_view.sql | 8 +- .../META-INF/db/views/cloud.storage_pool_view.sql | 2 + .../cloud/capacity/dao/CapacityDaoImplTest.java | 99 ++ .../java/com/cloud/dc/dao/ClusterDaoImplTest.java | 78 + .../java/com/cloud/host/dao/HostDaoImplTest.java | 184 +++ .../cloud/upgrade/dao/Upgrade41700to41710Test.java | 123 ++ .../cloud/usage/dao/UsageStorageDaoImplTest.java | 7 +- .../com/cloud/vm/dao/VMInstanceDaoImplTest.java | 20 +- .../resourcedetail/ResourceDetailsDaoBaseTest.java | 181 +++ .../datastore/db/PrimaryDataStoreDaoImplTest.java | 39 +- .../KvmNonManagedStorageDataMotionStrategy.java | 12 +- .../motion/StorageSystemDataMotionStrategy.java | 15 +- .../KvmNonManagedStorageSystemDataMotionTest.java | 1 - .../storage/image/TemplateDataFactoryImpl.java | 10 +- .../storage/image/TemplateServiceImpl.java | 82 +- .../storage/image/store/ImageStoreImpl.java | 5 + .../storage/image/store/TemplateObject.java | 9 + .../storage/object/store/ObjectStoreImpl.java | 8 + .../storage/snapshot/DefaultSnapshotStrategy.java | 14 +- .../storage/snapshot/SnapshotDataFactoryImpl.java | 2 +- .../storage/snapshot/SnapshotObject.java | 16 +- .../storage/snapshot/SnapshotServiceImpl.java | 58 +- .../vmsnapshot/ScaleIOVMSnapshotStrategy.java | 23 +- .../cloudstack/storage/LocalHostEndpoint.java | 5 + .../cloudstack/storage/RemoteHostEndPoint.java | 7 + .../allocator/AbstractStoragePoolAllocator.java | 16 +- .../storage/endpoint/DefaultEndPointSelector.java | 2 +- .../storage/helper/VMSnapshotHelperImpl.java | 15 +- .../storage/image/BaseImageStoreDriverImpl.java | 23 +- .../storage/vmsnapshot/VMSnapshotHelper.java | 4 +- .../volume/datastore/PrimaryDataStoreHelper.java | 9 +- .../storage/datastore/PrimaryDataStoreImpl.java | 3 +- .../BasePrimaryDataStoreLifeCycleImpl.java | 5 +- .../datastore/provider/DefaultHostListener.java | 40 +- .../cloudstack/storage/volume/VolumeObject.java | 9 +- .../storage/volume/VolumeServiceImpl.java | 186 ++- .../BasePrimaryDataStoreLifeCycleImplTest.java | 2 +- .../storage/volume/VolumeServiceTest.java | 6 + .../agent/lb/IndirectAgentLBAlgorithm.java | 4 + .../java/com/cloud/cluster/ClusterManagerImpl.java | 49 +- .../com/cloud/cluster/ManagementServerHostVO.java | 5 +- .../dao/ManagementServerHostPeerDaoImpl.java | 3 +- .../framework/config/impl/ConfigDepotImpl.java | 14 +- .../main/java/com/cloud/utils/db/GenericDao.java | 5 + .../java/com/cloud/utils/db/GenericDaoBase.java | 40 + .../apache/cloudstack/framework/events/Event.java | 8 + .../framework/jobs/dao/VmWorkJobDao.java | 1 + .../framework/jobs/dao/VmWorkJobDaoImpl.java | 16 + .../cloudstack/framework/jobs/impl/AsyncJobVO.java | 27 +- .../framework/jobs/dao/VmWorkJobDaoImplTest.java | 94 +- .../lifecycle/CloudStackExtendedLifeCycle.java | 21 +- .../lifecycle/registry/RegistryLifecycle.java | 17 +- packaging/el8/cloud.spec | 11 +- .../el8/filelimit.conf | 7 +- .../acl/DynamicRoleBasedAPIAccessChecker.java | 74 +- .../affinity/ExplicitDedicationProcessor.java | 24 +- .../cloudstack/affinity/HostAffinityProcessor.java | 2 +- .../affinity/HostAntiAffinityProcessor.java | 10 +- .../affinity/NonStrictHostAffinityProcessor.java | 10 +- .../apache/cloudstack/sioc/SiocManagerImpl.java | 11 +- .../cloudstack/backup/DummyBackupProvider.java | 10 +- .../cloudstack/backup/NASBackupProvider.java | 11 +- .../cloudstack/backup/NetworkerBackupProvider.java | 35 +- .../backup/networker/NetworkerClient.java | 6 +- .../cloudstack/backup/VeeamBackupProvider.java | 21 +- .../cloudstack/backup/VeeamBackupProviderTest.java | 2 +- .../dedicated/DedicatedResourceManagerImpl.java | 91 +- .../cloud/deploy/ImplicitDedicationPlanner.java | 63 +- .../implicitplanner/ImplicitPlannerTest.java | 38 +- .../org/apache/cloudstack/cluster/Balanced.java | 22 +- .../apache/cloudstack/cluster/BalancedTest.java | 18 +- .../org/apache/cloudstack/cluster/Condensed.java | 22 +- .../apache/cloudstack/cluster/CondensedTest.java | 19 +- .../cloudstack/mom/webhook/WebhookServiceImpl.java | 5 +- .../mom/webhook/vo/WebhookDeliveryJoinVO.java | 4 +- .../mom/webhook/vo/WebhookDeliveryVO.java | 2 +- .../cloudstack/mom/webhook/vo/WebhookJoinVO.java | 2 +- .../cloudstack/mom/webhook/vo/WebhookVO.java | 2 +- .../manager/allocator/impl/RandomAllocator.java | 8 +- .../baremetal/manager/BareMetalDiscoverer.java | 2 +- .../cloud/baremetal/manager/BareMetalPlanner.java | 28 +- .../baremetal/manager/BaremetalManagerImpl.java | 10 +- .../main/java/com/cloud/ha/HypervInvestigator.java | 2 +- .../hyperv/discoverer/HypervServerDiscoverer.java | 12 +- .../cloud/hypervisor/hyperv/guru/HypervGuru.java | 2 +- .../main/java/com/cloud/ha/KVMInvestigator.java | 15 +- .../kvm/resource/LibvirtComputingResource.java | 113 +- .../hypervisor/kvm/resource/LibvirtVMDef.java | 12 +- .../LibvirtDeleteStoragePoolCommandWrapper.java | 60 +- .../LibvirtGetStorageStatsCommandWrapper.java | 3 +- ...LibvirtGetUnmanagedInstancesCommandWrapper.java | 5 +- .../LibvirtGetVmIpAddressCommandWrapper.java | 3 + .../LibvirtPrepareForMigrationCommandWrapper.java | 2 +- ...tupDirectDownloadCertificateCommandWrapper.java | 4 + .../wrapper/LibvirtStartCommandWrapper.java | 2 +- .../kvm/storage/IscsiAdmStorageAdaptor.java | 2 +- .../kvm/storage/IscsiAdmStoragePool.java | 2 +- .../hypervisor/kvm/storage/KVMStoragePool.java | 8 + .../kvm/storage/KVMStoragePoolManager.java | 9 +- .../kvm/storage/KVMStorageProcessor.java | 119 +- .../kvm/storage/LibvirtStorageAdaptor.java | 71 +- .../hypervisor/kvm/storage/LibvirtStoragePool.java | 33 +- .../kvm/storage/ManagedNfsStorageAdaptor.java | 2 +- .../kvm/storage/MultipathSCSIAdapterBase.java | 30 +- .../hypervisor/kvm/storage/MultipathSCSIPool.java | 2 +- .../kvm/storage/ScaleIOStorageAdaptor.java | 4 +- .../hypervisor/kvm/storage/ScaleIOStoragePool.java | 2 +- .../hypervisor/kvm/storage/StorageAdaptor.java | 11 +- .../apache/cloudstack/kvm/ha/KVMHAProvider.java | 12 +- .../cloudstack/kvm/ha/KVMHostActivityChecker.java | 23 +- .../kvm/resource/LibvirtComputingResourceTest.java | 25 +- .../hypervisor/kvm/resource/LibvirtVMDefTest.java | 11 + .../kvm/storage/LibvirtStorageAdaptorTest.java | 94 +- .../kvm/storage/ScaleIOStoragePoolTest.java | 2 +- .../agent/manager/MockStorageManagerImpl.java | 8 +- .../java/com/cloud/ha/SimulatorInvestigator.java | 2 +- .../com/cloud/resource/AgentRoutingResource.java | 4 +- .../com/cloud/simulator/dao/MockVolumeDao.java | 2 + .../com/cloud/simulator/dao/MockVolumeDaoImpl.java | 12 + .../java/com/cloud/hypervisor/guru/VMwareGuru.java | 8 + .../cloud/hypervisor/guru/VmwareVmImplementer.java | 2 +- .../hypervisor/vmware/VmwareDatacenterService.java | 7 +- .../hypervisor/vmware/VmwareServerDiscoverer.java | 2 +- .../vmware/manager/VmwareManagerImpl.java | 268 ++-- .../hypervisor/vmware/resource/VmwareResource.java | 23 + .../storage/resource/VmwareStorageProcessor.java | 12 +- .../api/command/admin/zone/AddVmwareDcCmd.java | 12 +- .../zone/ImportVsphereStoragePoliciesCmd.java | 13 +- ...wareDcVmsCmd.java => ListVmwareDcHostsCmd.java} | 55 +- .../api/command/admin/zone/ListVmwareDcItems.java | 12 +- .../api/command/admin/zone/ListVmwareDcVmsCmd.java | 52 +- .../api/command/admin/zone/ListVmwareDcsCmd.java | 26 +- .../admin/zone/ListVsphereStoragePoliciesCmd.java | 15 +- ...ListVsphereStoragePolicyCompatiblePoolsCmd.java | 2 +- .../api/command/admin/zone/RemoveVmwareDcCmd.java | 6 +- .../api/command/admin/zone/UpdateVmwareDcCmd.java | 9 +- .../command/admin/zone/VmwareRequestResponse.java | 30 +- .../xenserver/discoverer/XcpServerDiscoverer.java | 9 +- .../CitrixGetVmIpAddressCommandWrapper.java | 15 +- .../motion/XenServerStorageMotionStrategy.java | 22 +- .../cloudstack/cloudian/CloudianConnectorImpl.java | 6 +- .../cluster/KubernetesClusterManagerImpl.java | 86 +- .../kubernetes/cluster/KubernetesClusterVO.java | 8 + .../cluster/KubernetesServiceHelperImpl.java | 2 +- .../KubernetesClusterActionWorker.java | 26 +- .../KubernetesClusterDestroyWorker.java | 34 +- ...ernetesClusterResourceModifierActionWorker.java | 35 +- .../KubernetesClusterScaleWorker.java | 37 +- .../KubernetesClusterStartWorker.java | 24 +- .../actionworkers/KubernetesClusterStopWorker.java | 5 +- .../KubernetesClusterUpgradeWorker.java | 12 +- .../cluster/utils/KubernetesClusterUtil.java | 52 +- .../version/KubernetesSupportedVersionVO.java | 8 + .../version/KubernetesVersionManagerImpl.java | 6 +- .../cluster/DeleteKubernetesClusterCmd.java | 3 +- .../cluster/ScaleKubernetesClusterCmd.java | 3 +- .../cluster/StopKubernetesClusterCmd.java | 3 +- .../cluster/UpgradeKubernetesClusterCmd.java | 3 +- .../cloudstack/metrics/PrometheusExporterImpl.java | 4 +- .../api/ListSystemVMsUsageHistoryCmd.java | 2 +- .../apache/cloudstack/metrics/MetricsService.java | 8 +- .../cloudstack/metrics/MetricsServiceImpl.java | 160 +- .../com/cloud/network/BigSwitchBcfDeviceVO.java | 8 + .../cloud/network/element/BigSwitchBcfElement.java | 18 +- .../network/guru/BigSwitchBcfGuestNetworkGuru.java | 10 +- .../cloud/network/element/BrocadeVcsElement.java | 14 +- .../network/guru/BrocadeVcsGuestNetworkGuru.java | 10 +- .../cloud/network/cisco/CiscoVnmcControllerVO.java | 9 + .../cloud/network/element/CiscoVnmcElement.java | 84 +- .../element/ElasticLoadBalancerElement.java | 2 +- .../network/lb/ElasticLoadBalancerManagerImpl.java | 6 +- .../cloud/network/lb/LoadBalanceRuleHandler.java | 12 +- .../element/InternalLoadBalancerElement.java | 3 +- .../lb/InternalLoadBalancerVMManagerImpl.java | 14 +- .../contrail/management/ContrailElementImpl.java | 18 +- .../network/contrail/management/ContrailGuru.java | 18 +- .../contrail/management/ManagementNetworkGuru.java | 2 +- .../contrail/model/VirtualMachineModel.java | 4 +- .../contrail/model/VirtualNetworkModel.java | 5 +- .../contrail/management/MockAccountManager.java | 4 + .../cloud/network/element/NetscalerElement.java | 6 +- .../cloud/network/vm/NetScalerVMManagerImpl.java | 4 +- .../cloud/network/element/NiciraNvpElement.java | 32 +- .../network/guru/NiciraNvpGuestNetworkGuru.java | 8 +- .../org/apache/cloudstack/service/NsxElement.java | 17 +- .../cloudstack/service/NsxGuestNetworkGuru.java | 12 +- .../cloudstack/service/NsxPublicNetworkGuru.java | 6 +- .../apache/cloudstack/service/NsxServiceImpl.java | 6 +- .../opendaylight/OpendaylightGuestNetworkGuru.java | 8 +- .../OpenDaylightControllerResourceManagerImpl.java | 8 +- .../java/com/cloud/network/element/OvsElement.java | 58 +- .../cloud/network/guru/OvsGuestNetworkGuru.java | 5 +- .../cloud/network/ovs/OvsTunnelManagerImpl.java | 63 +- .../command/ConfigTungstenFabricServiceCmd.java | 2 +- .../network/tungsten/service/TungstenElement.java | 11 +- .../tungsten/service/TungstenGuestNetworkGuru.java | 4 +- .../cloud/network/guru/VxlanGuestNetworkGuru.java | 2 +- .../driver/CephObjectStoreDriverImpl.java | 2 +- .../driver/AdaptiveDataStoreDriverImpl.java | 47 +- .../lifecycle/AdaptiveDataStoreLifeCycleImpl.java | 37 +- .../provider/AdaptivePrimaryHostListener.java | 41 +- .../driver/ElastistorPrimaryDataStoreDriver.java | 2 +- .../ElastistorPrimaryDataStoreLifeCycle.java | 18 +- .../datastore/provider/ElastistorHostListener.java | 10 +- .../driver/DateraPrimaryDataStoreDriver.java | 31 +- .../lifecycle/DateraPrimaryDataStoreLifeCycle.java | 4 +- .../datastore/provider/DateraHostListener.java | 18 +- .../CloudStackPrimaryDataStoreDriverImpl.java | 12 +- .../CloudStackPrimaryDataStoreLifeCycleImpl.java | 182 ++- ...loudStackPrimaryDataStoreLifeCycleImplTest.java | 79 +- plugins/storage/volume/linstor/CHANGELOG.md | 29 + .../LinstorBackupSnapshotCommandWrapper.java | 32 +- .../kvm/storage/LinstorStorageAdaptor.java | 156 +- .../hypervisor/kvm/storage/LinstorStoragePool.java | 42 +- .../driver/LinstorPrimaryDataStoreDriverImpl.java | 334 ++++- .../LinstorPrimaryDataStoreLifeCycleImpl.java | 16 +- .../datastore/provider/LinstorHostListener.java | 4 +- .../storage/datastore/util/LinstorUtil.java | 115 ++ .../snapshot/LinstorVMSnapshotStrategy.java | 18 +- .../LinstorPrimaryDataStoreDriverImplTest.java | 87 ++ .../storage/datastore/util/LinstorUtilTest.java | 127 ++ .../NexentaPrimaryDataStoreLifeCycle.java | 2 +- .../datastore/adapter/primera/PrimeraAdapter.java | 51 +- .../client/ScaleIOGatewayClientConnectionPool.java | 34 +- .../driver/ScaleIOPrimaryDataStoreDriver.java | 144 +- .../ScaleIOPrimaryDataStoreLifeCycle.java | 69 +- .../datastore/manager/ScaleIOSDCManagerImpl.java | 67 +- .../datastore/provider/ScaleIOHostListener.java | 32 +- .../driver/ScaleIOPrimaryDataStoreDriverTest.java | 17 +- .../ScaleIOPrimaryDataStoreLifeCycleTest.java | 37 +- .../driver/SolidFirePrimaryDataStoreDriver.java | 18 +- .../SolidFirePrimaryDataStoreLifeCycle.java | 4 +- .../SolidFireSharedPrimaryDataStoreLifeCycle.java | 30 +- .../datastore/provider/SolidFireHostListener.java | 38 +- .../provider/SolidFireSharedHostListener.java | 22 +- .../storage/datastore/util/SolidFireUtil.java | 4 +- .../StorPoolBackupSnapshotCommandWrapper.java | 3 +- .../kvm/storage/StorPoolStorageAdaptor.java | 2 +- .../kvm/storage/StorPoolStoragePool.java | 2 +- .../StorPoolPrimaryDataStoreLifeCycle.java | 2 +- .../datastore/provider/StorPoolHostListener.java | 20 +- .../storage/datastore/util/StorPoolHelper.java | 14 +- .../storage/motion/StorPoolDataMotionStrategy.java | 18 +- .../storage/snapshot/StorPoolSnapshotStrategy.java | 12 +- .../snapshot/StorPoolVMSnapshotStrategy.java | 15 +- .../cloudstack/api/command/LdapImportUsersCmd.java | 2 +- .../api/command/LinkAccountToLdapCmd.java | 6 +- .../api/command/LinkDomainToLdapCmd.java | 6 +- .../api/command/LinkAccountToLdapCmdTest.java | 4 + .../api/command/LinkDomainToLdapCmdTest.java | 4 + .../java/org/apache/cloudstack/saml/SAMLUtils.java | 1 + pom.xml | 2 +- scripts/storage/multipath/cleanStaleMaps.sh | 10 +- scripts/storage/multipath/disconnectVolume.sh | 3 + scripts/util/create-kubernetes-binaries-iso.sh | 2 +- .../com/cloud/acl/AffinityGroupAccessChecker.java | 4 +- .../src/main/java/com/cloud/acl/DomainChecker.java | 24 +- .../manager/allocator/impl/FirstFitAllocator.java | 15 +- .../allocator/impl/RecreateHostAllocator.java | 2 +- .../allocator/impl/UserConcentratedAllocator.java | 25 +- .../java/com/cloud/alert/AlertManagerImpl.java | 117 +- .../java/com/cloud/alert/ClusterAlertAdapter.java | 10 +- .../main/java/com/cloud/api/ApiResponseHelper.java | 1 + server/src/main/java/com/cloud/api/ApiServer.java | 13 +- .../java/com/cloud/api/query/QueryManagerImpl.java | 350 +++-- .../com/cloud/api/query/dao/HostJoinDaoImpl.java | 122 +- .../com/cloud/api/query/dao/SnapshotJoinDao.java | 6 +- .../cloud/api/query/dao/SnapshotJoinDaoImpl.java | 45 +- .../api/query/dao/StoragePoolJoinDaoImpl.java | 9 +- .../com/cloud/api/query/dao/UserVmJoinDao.java | 4 +- .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 4 +- .../cloud/api/query/vo/NetworkOfferingJoinVO.java | 7 + .../com/cloud/api/query/vo/StoragePoolJoinVO.java | 14 + .../main/java/com/cloud/bgp/BGPServiceImpl.java | 36 +- .../com/cloud/capacity/CapacityManagerImpl.java | 357 ++--- .../main/java/com/cloud/configuration/Config.java | 6 +- .../configuration/ConfigurationManagerImpl.java | 330 ++-- .../AgentBasedConsoleProxyManager.java | 16 +- .../AgentBasedStandaloneConsoleProxyManager.java | 22 +- .../consoleproxy/ConsoleProxyManagerImpl.java | 83 +- .../cloud/consoleproxy/ConsoleProxyService.java | 3 +- .../consoleproxy/StaticConsoleProxyManager.java | 2 +- .../java/com/cloud/dc/DedicatedResourceVO.java | 8 + .../deploy/DeploymentPlanningManagerImpl.java | 281 ++-- .../java/com/cloud/deploy/FirstFitPlanner.java | 8 +- .../com/cloud/ha/AbstractInvestigatorImpl.java | 17 +- server/src/main/java/com/cloud/ha/HaWorkVO.java | 15 +- .../com/cloud/ha/HighAvailabilityManagerImpl.java | 251 +++- .../cloud/ha/ManagementIPSystemVMInvestigator.java | 8 +- .../java/com/cloud/ha/UserVmDomRInvestigator.java | 27 +- .../java/com/cloud/ha/dao/HighAvailabilityDao.java | 2 + .../com/cloud/ha/dao/HighAvailabilityDaoImpl.java | 30 +- .../hypervisor/CloudZonesStartupProcessor.java | 4 +- .../com/cloud/hypervisor/HypervisorGuruBase.java | 2 +- .../main/java/com/cloud/hypervisor/KVMGuru.java | 15 +- .../kvm/discoverer/LibvirtServerDiscoverer.java | 66 +- .../cloud/hypervisor/kvm/dpdk/DpdkHelperImpl.java | 7 +- .../network/ExternalDeviceUsageManagerImpl.java | 10 +- .../network/ExternalFirewallDeviceManagerImpl.java | 25 +- .../ExternalLoadBalancerDeviceManagerImpl.java | 52 +- .../com/cloud/network/IpAddressManagerImpl.java | 110 +- .../com/cloud/network/Ipv6AddressManagerImpl.java | 15 +- .../java/com/cloud/network/Ipv6ServiceImpl.java | 38 +- .../cloud/network/NetworkMigrationManagerImpl.java | 16 +- .../java/com/cloud/network/NetworkModelImpl.java | 68 +- .../java/com/cloud/network/NetworkServiceImpl.java | 153 +- .../com/cloud/network/NetworkUsageManagerImpl.java | 36 +- .../com/cloud/network/SshKeysDistriMonitor.java | 11 +- .../com/cloud/network/as/AutoScaleManager.java | 5 +- .../com/cloud/network/as/AutoScaleManagerImpl.java | 222 +-- .../network/element/ConfigDriveNetworkElement.java | 87 +- .../network/element/VirtualRouterElement.java | 34 +- .../network/element/VpcVirtualRouterElement.java | 39 +- .../network/firewall/FirewallManagerImpl.java | 48 +- .../com/cloud/network/guru/DirectNetworkGuru.java | 6 +- .../network/guru/DirectPodBasedNetworkGuru.java | 6 +- .../com/cloud/network/guru/GuestNetworkGuru.java | 13 +- .../network/lb/LoadBalancingRulesManagerImpl.java | 179 ++- .../cloud/network/router/CommandSetupHelper.java | 2 +- .../cloud/network/router/NetworkHelperImpl.java | 49 +- .../router/VirtualNetworkApplianceManagerImpl.java | 114 +- .../VpcVirtualNetworkApplianceManagerImpl.java | 18 +- .../com/cloud/network/rules/DhcpSubNetRules.java | 2 +- .../cloud/network/rules/PrivateGatewayRules.java | 2 +- .../com/cloud/network/rules/RulesManagerImpl.java | 101 +- .../cloud/network/rules/VpcIpAssociationRules.java | 4 +- .../network/security/SecurityGroupListener.java | 17 +- .../network/security/SecurityGroupManagerImpl.java | 80 +- .../security/SecurityGroupManagerImpl2.java | 11 +- .../cloud/network/vpc/NetworkACLManagerImpl.java | 24 +- .../cloud/network/vpc/NetworkACLServiceImpl.java | 18 +- .../java/com/cloud/network/vpc/VpcManagerImpl.java | 104 +- .../vpc/VpcPrivateGatewayTransactionCallable.java | 5 +- .../network/vpn/RemoteAccessVpnManagerImpl.java | 21 +- .../cloud/network/vpn/Site2SiteVpnManagerImpl.java | 30 +- .../java/com/cloud/projects/ProjectManager.java | 2 +- .../com/cloud/projects/ProjectManagerImpl.java | 73 +- .../com/cloud/resource/ResourceManagerImpl.java | 261 ++-- .../resource/RollingMaintenanceManagerImpl.java | 61 +- .../resourceicon/ResourceIconManagerImpl.java | 4 +- .../resourcelimit/ResourceLimitManagerImpl.java | 18 +- .../com/cloud/server/ConfigurationServerImpl.java | 4 +- .../com/cloud/server/ManagementServerImpl.java | 42 +- .../main/java/com/cloud/server/StatsCollector.java | 155 +- .../com/cloud/servlet/ConsoleProxyServlet.java | 26 +- .../com/cloud/storage/ImageStoreServiceImpl.java | 6 +- .../cloud/storage/ImageStoreUploadMonitorImpl.java | 36 +- .../java/com/cloud/storage/OCFS2ManagerImpl.java | 20 +- .../java/com/cloud/storage/StorageManagerImpl.java | 377 +++-- .../cloud/storage/StoragePoolAutomationImpl.java | 7 +- .../com/cloud/storage/VolumeApiServiceImpl.java | 278 ++-- .../cloud/storage/download/DownloadListener.java | 48 +- .../storage/download/DownloadMonitorImpl.java | 6 +- .../cloud/storage/listener/StoragePoolMonitor.java | 21 +- .../cloud/storage/snapshot/SnapshotManager.java | 3 +- .../storage/snapshot/SnapshotManagerImpl.java | 114 +- .../storage/snapshot/SnapshotSchedulerImpl.java | 42 +- .../com/cloud/storage/upload/UploadListener.java | 4 +- .../cloud/storage/upload/UploadMonitorImpl.java | 10 +- .../com/cloud/tags/TaggedResourceManagerImpl.java | 15 +- .../cloud/template/HypervisorTemplateAdapter.java | 38 +- .../com/cloud/template/TemplateAdapterBase.java | 2 +- .../com/cloud/template/TemplateManagerImpl.java | 93 +- .../java/com/cloud/usage/UsageServiceImpl.java | 2 +- .../main/java/com/cloud/user/AccountManager.java | 7 +- .../java/com/cloud/user/AccountManagerImpl.java | 406 ++--- .../java/com/cloud/user/DomainManagerImpl.java | 47 +- .../main/java/com/cloud/vm/UserVmManagerImpl.java | 1576 ++++++++++++-------- .../cloud/vm/snapshot/VMSnapshotManagerImpl.java | 56 +- .../cloudstack/acl/ProjectRoleManagerImpl.java | 2 +- .../org/apache/cloudstack/acl/RoleManagerImpl.java | 6 +- .../affinity/AffinityGroupServiceImpl.java | 8 +- .../agent/lb/IndirectAgentLBServiceImpl.java | 138 +- .../IndirectAgentLBRoundRobinAlgorithm.java | 5 + .../cloudstack/backup/BackupManagerImpl.java | 40 +- .../org/apache/cloudstack/ca/CAManagerImpl.java | 8 +- .../cloudstack/cluster/ClusterDrsServiceImpl.java | 32 +- .../consoleproxy/ConsoleAccessManagerImpl.java | 29 +- .../diagnostics/DiagnosticsServiceImpl.java | 18 +- .../diagnostics/to/DiagnosticsDataObject.java | 8 + .../direct/download/DirectDownloadManagerImpl.java | 102 +- .../org/apache/cloudstack/ha/HAManagerImpl.java | 17 +- .../ha/provider/host/HAAbstractHostProvider.java | 10 +- .../org/apache/cloudstack/ha/task/BaseHATask.java | 2 +- .../cloudstack/network/RoutedIpv4ManagerImpl.java | 4 +- .../lb/ApplicationLoadBalancerManagerImpl.java | 5 +- .../deployment/RouterDeploymentDefinition.java | 12 +- .../deployment/VpcRouterDeploymentDefinition.java | 8 +- .../network/topology/AdvancedNetworkTopology.java | 10 +- .../network/topology/BasicNetworkTopology.java | 22 +- .../OutOfBandManagementServiceImpl.java | 34 +- .../outofbandmanagement/PowerOperationTask.java | 5 +- .../gslb/GlobalLoadBalancingRulesServiceImpl.java | 19 +- .../apache/cloudstack/snapshot/SnapshotHelper.java | 25 +- .../storage/heuristics/HeuristicRuleHelper.java | 8 +- .../GenericHeuristicPresetVariable.java | 4 +- .../storage/object/BucketApiServiceImpl.java | 2 +- .../storage/sharedfs/SharedFSServiceImpl.java | 6 +- .../storage/template/VnfTemplateManagerImpl.java | 16 +- .../volume/VolumeImportUnmanageManagerImpl.java | 34 +- .../user/UserPasswordResetManagerImpl.java | 35 +- .../cloudstack/vm/UnmanagedVMsManagerImpl.java | 245 +-- .../vm/schedule/VMScheduleManagerImpl.java | 6 +- .../cloudstack/vm/schedule/VMSchedulerImpl.java | 30 +- .../java/com/cloud/alert/AlertManagerImplTest.java | 84 +- .../api/query/dao/SnapshotJoinDaoImplTest.java | 109 ++ .../cloud/capacity/CapacityManagerImplTest.java | 182 +++ .../com/cloud/capacity/CapacityManagerTest.java | 4 +- .../configuration/ConfigurationManagerTest.java | 240 +-- .../deploy/DeploymentPlanningManagerImplTest.java | 8 +- .../cloud/ha/HighAvailabilityManagerImplTest.java | 218 ++- .../cloud/ha/dao/HighAvailabilityDaoImplTest.java | 59 +- .../com/cloud/network/Ipv6ServiceImplTest.java | 99 +- .../com/cloud/network/MockFirewallManagerImpl.java | 4 +- .../com/cloud/network/NetworkServiceImplTest.java | 30 +- .../cloud/network/as/AutoScaleManagerImplTest.java | 201 +-- .../element/VpcVirtualRouterElementTest.java | 6 +- .../com/cloud/projects/MockProjectManagerImpl.java | 2 +- .../cloud/resource/MockResourceManagerImpl.java | 6 +- .../RollingMaintenanceManagerImplTest.java | 60 + .../ResourceLimitManagerImplTest.java | 14 +- .../java/com/cloud/server/StatsCollectorTest.java | 148 +- .../com/cloud/storage/StorageManagerImplTest.java | 96 +- .../cloud/storage/VolumeApiServiceImplTest.java | 286 +++- .../storage/listener/StoragePoolMonitorTest.java | 6 +- .../template/HypervisorTemplateAdapterTest.java | 13 +- .../com/cloud/user/AccountManagerImplTest.java | 195 ++- .../com/cloud/user/AccountManagetImplTestBase.java | 3 + .../java/com/cloud/user/DomainManagerImplTest.java | 53 +- .../com/cloud/user/MockAccountManagerImpl.java | 45 +- .../java/com/cloud/user/MockUsageEventDao.java | 6 + .../java/com/cloud/vm/FirstFitPlannerTest.java | 2 - .../java/com/cloud/vm/UserVmManagerImplTest.java | 1534 ++++++++++++++++++- .../test/java/com/cloud/vm/UserVmManagerTest.java | 7 +- .../cloud/vm/snapshot/VMSnapshotManagerTest.java | 8 +- .../cloud/vpc/MockConfigurationManagerImpl.java | 4 +- .../agent/lb/IndirectAgentLBServiceImplTest.java | 55 +- .../cluster/ClusterDrsServiceImplTest.java | 8 +- .../deployment/RouterDeploymentDefinitionTest.java | 6 + .../networkoffering/CreateNetworkOfferingTest.java | 49 +- .../heuristics/HeuristicRuleHelperTest.java | 3 - .../VolumeImportUnmanageManagerImplTest.java | 18 +- .../cloudstack/vm/UnmanagedVMsManagerImplTest.java | 5 +- .../vm/schedule/VMSchedulerImplTest.java | 2 +- .../SecondaryStorageManagerImpl.java | 25 +- .../resource/LocalNfsSecondaryStorageResource.java | 11 +- setup/db/create-schema-simulator.sql | 3 +- systemvm/agent/scripts/_run.sh | 2 +- systemvm/debian/opt/cloud/bin/configure.py | 4 +- systemvm/debian/opt/cloud/bin/cs/CsAddress.py | 24 +- systemvm/debian/opt/cloud/bin/cs/CsDhcp.py | 3 +- systemvm/patch-sysvms.sh | 3 + test/integration/smoke/test_dynamicroles.py | 16 +- test/integration/smoke/test_global_settings.py | 49 + ui/public/locales/de_DE.json | 1 - ui/public/locales/el_GR.json | 1 - ui/public/locales/en.json | 11 +- ui/public/locales/ja_JP.json | 1 - ui/public/locales/ko_KR.json | 1 - ui/public/locales/pt_BR.json | 4 +- ui/public/locales/zh_CN.json | 1 - ui/src/components/header/CreateMenu.vue | 32 +- ui/src/components/menu/SMenu.vue | 6 + ui/src/components/view/InfoCard.vue | 26 +- ui/src/components/view/ListView.vue | 34 +- ui/src/components/view/SearchView.vue | 26 +- ui/src/components/widgets/Status.vue | 2 + ui/src/config/section/compute.js | 16 +- ui/src/config/section/image.js | 8 +- ui/src/config/section/infra/hosts.js | 2 +- ui/src/config/section/infra/managementServers.js | 4 +- ui/src/config/section/infra/primaryStorages.js | 2 +- ui/src/config/section/network.js | 141 +- ui/src/config/section/offering.js | 2 +- ui/src/config/section/storage.js | 19 +- ui/src/core/ext.js | 8 +- ui/src/{style/frame/content.less => utils/zone.js} | 12 +- ui/src/views/AutogenView.vue | 5 +- ui/src/views/compute/DeployVM.vue | 4 +- ui/src/views/compute/wizard/OwnershipSelection.vue | 10 +- ui/src/views/dashboard/CapacityDashboard.vue | 51 +- ui/src/views/iam/DomainView.vue | 10 + ui/src/views/image/RegisterOrUploadTemplate.vue | 2 +- ui/src/views/infra/ClusterAdd.vue | 100 +- ui/src/views/infra/UsageRecords.vue | 21 +- ui/src/views/infra/zone/ZoneWizardAddResources.vue | 14 + ui/src/views/infra/zone/ZoneWizardLaunchZone.vue | 1 + ui/src/views/network/AclListRulesTab.vue | 2 +- ui/src/views/network/CreateIsolatedNetworkForm.vue | 4 +- ui/src/views/network/CreateL2NetworkForm.vue | 4 +- ui/src/views/network/CreateSharedNetworkForm.vue | 4 + ui/src/views/network/CreateVpc.vue | 37 +- ui/src/views/network/FirewallRules.vue | 3 + ui/src/views/network/StaticRoutesTab.vue | 1 - ui/src/views/network/VpcTab.vue | 3 +- ui/src/views/network/VpcTiersTab.vue | 2 +- ui/src/views/offering/AddNetworkOffering.vue | 2 +- ui/src/views/setting/ConfigurationHierarchy.vue | 9 +- ui/src/views/setting/ConfigurationValue.vue | 33 +- ui/src/views/storage/CreateSharedFS.vue | 4 +- ui/src/views/storage/CreateVolume.vue | 104 +- ui/src/views/storage/RecurringSnapshotVolume.vue | 2 +- ui/src/views/tools/ManageInstances.vue | 1 + ui/src/views/tools/SelectVmwareVcenter.vue | 64 +- .../com/cloud/usage/parser/BucketUsageParser.java | 2 +- .../cloud/usage/parser/NetworksUsageParser.java | 4 +- .../com/cloud/usage/parser/VpcUsageParser.java | 6 +- .../utils/backoff/impl/ConstantTimeBackoff.java | 1 - .../main/java/com/cloud/utils/net/NetUtils.java | 10 +- .../java/com/cloud/utils/nio/HandlerFactory.java | 11 +- utils/src/main/java/com/cloud/utils/nio/Link.java | 16 +- .../main/java/com/cloud/utils/nio/NioClient.java | 68 +- .../java/com/cloud/utils/nio/NioConnection.java | 133 +- .../main/java/com/cloud/utils/nio/NioServer.java | 42 +- .../apache/cloudstack/utils/cache/LazyCache.java | 33 +- .../apache/cloudstack/utils/cache/SingleCache.java | 40 +- .../java/com/cloud/utils/testcase/NioTest.java | 45 +- .../cloudstack/utils/cache/LazyCacheTest.java | 115 ++ .../com/cloud/hypervisor/vmware/mo/BaseMO.java | 64 +- .../vmware/mo/CustomFieldsManagerMO.java | 7 +- .../cloud/hypervisor/vmware/mo/DatacenterMO.java | 159 +- .../com/cloud/hypervisor/vmware/mo/HostMO.java | 156 +- .../hypervisor/vmware/mo/VirtualMachineMO.java | 711 ++------- .../cloud/hypervisor/vmware/util/VmwareClient.java | 72 +- .../vmware/util/VmwareClientException.java | 22 +- 748 files changed, 18213 insertions(+), 10257 deletions(-) create mode 100644 agent/src/test/java/com/cloud/agent/AgentTest.java create mode 100644 api/src/test/java/org/apache/cloudstack/api/command/user/firewall/CreateFirewallRuleCmdTest.java copy core/src/main/java/com/cloud/agent/api/{UnregisterVMCommand.java => CleanupVMCommand.java} (74%) create mode 100644 core/src/test/java/com/cloud/agent/api/GetStorageStatsAnswerTest.java create mode 100644 engine/schema/src/main/resources/META-INF/db/procedures/cloud.idempotent_update_api_permission.sql create mode 100644 engine/schema/src/test/java/com/cloud/capacity/dao/CapacityDaoImplTest.java create mode 100644 engine/schema/src/test/java/com/cloud/dc/dao/ClusterDaoImplTest.java create mode 100644 engine/schema/src/test/java/com/cloud/host/dao/HostDaoImplTest.java create mode 100644 engine/schema/src/test/java/com/cloud/upgrade/dao/Upgrade41700to41710Test.java create mode 100644 engine/schema/src/test/java/org/apache/cloudstack/resourcedetail/ResourceDetailsDaoBaseTest.java copy core/src/main/resources/META-INF/cloudstack/allocator/module.properties => packaging/el8/filelimit.conf (88%) copy plugins/hypervisors/vmware/src/main/java/org/apache/cloudstack/api/command/admin/zone/{ListVmwareDcVmsCmd.java => ListVmwareDcHostsCmd.java} (73%) copy api/src/main/java/com/cloud/configuration/ResourceCount.java => plugins/hypervisors/vmware/src/main/java/org/apache/cloudstack/api/command/admin/zone/ListVmwareDcItems.java (77%) copy api/src/main/java/org/apache/cloudstack/affinity/AffinityGroupTypeResponse.java => plugins/hypervisors/vmware/src/main/java/org/apache/cloudstack/api/command/admin/zone/VmwareRequestResponse.java (64%) create mode 100644 plugins/storage/volume/linstor/src/test/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImplTest.java create mode 100644 plugins/storage/volume/linstor/src/test/java/org/apache/cloudstack/storage/datastore/util/LinstorUtilTest.java create mode 100644 server/src/test/java/com/cloud/api/query/dao/SnapshotJoinDaoImplTest.java create mode 100644 server/src/test/java/com/cloud/capacity/CapacityManagerImplTest.java copy ui/src/{style/frame/content.less => utils/zone.js} (83%) copy plugins/database/quota/src/main/java/org/apache/cloudstack/api/response/QuotaEnabledResponse.java => utils/src/main/java/org/apache/cloudstack/utils/cache/LazyCache.java (52%) copy api/src/main/java/org/apache/cloudstack/api/BaseAsyncCreateCmd.java => utils/src/main/java/org/apache/cloudstack/utils/cache/SingleCache.java (52%) create mode 100644 utils/src/test/java/org/apache/cloudstack/utils/cache/LazyCacheTest.java copy server/src/main/java/com/cloud/agent/manager/authn/AgentAuthnException.java => vmware-base/src/main/java/com/cloud/hypervisor/vmware/util/VmwareClientException.java (68%)