This is an automated email from the ASF dual-hosted git repository. dahn pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack.git
from 7abda3b9639 Merge remote-tracking branch 'apache/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 new 2654890e868 Merge branch '4.20' The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .python-version | 2 +- agent/conf/agent.properties | 7 + agent/src/main/java/com/cloud/agent/Agent.java | 823 +++++++++++---------- .../src/main/java/com/cloud/agent/AgentShell.java | 57 +- .../src/main/java/com/cloud/agent/IAgentShell.java | 2 + .../cloud/agent/properties/AgentProperties.java | 7 + .../test/java/com/cloud/agent/AgentShellTest.java | 7 + agent/src/test/java/com/cloud/agent/AgentTest.java | 257 +++++++ .../org/apache/cloudstack/acl/RoleService.java | 5 + .../api/command/admin/domain/ListDomainsCmd.java | 7 +- .../api/command/user/account/ListAccountsCmd.java | 5 +- .../user/firewall/CreateFirewallRuleCmd.java | 7 +- .../OutOfBandManagementService.java | 2 +- .../command/admin/domain/ListDomainsCmdTest.java | 13 +- .../command/user/account/ListAccountsCmdTest.java | 15 +- .../user/firewall/CreateFirewallRuleCmdTest.java | 91 +++ .../java/com/cloud/resource/ServerResource.java | 8 + .../java/com/cloud/vm/VirtualMachineManager.java | 22 +- .../service/NetworkOrchestrationService.java | 3 + .../java/com/cloud/capacity/CapacityManager.java | 13 +- .../java/com/cloud/resource/ResourceManager.java | 4 +- .../java/com/cloud/storage/StorageManager.java | 9 + .../com/cloud/agent/manager/AgentManagerImpl.java | 302 +++++--- .../agent/manager/ClusteredAgentManagerImpl.java | 143 ++-- .../com/cloud/vm/VirtualMachineManagerImpl.java | 220 +++--- .../cloud/vm/VirtualMachinePowerStateSyncImpl.java | 220 +++--- .../engine/orchestration/NetworkOrchestrator.java | 2 +- .../java/com/cloud/capacity/dao/CapacityDao.java | 2 + .../com/cloud/capacity/dao/CapacityDaoImpl.java | 12 + .../main/java/com/cloud/dc/ClusterDetailsDao.java | 3 + .../java/com/cloud/dc/ClusterDetailsDaoImpl.java | 20 + .../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 +- .../src/main/java/com/cloud/host/dao/HostDao.java | 46 +- .../main/java/com/cloud/host/dao/HostDaoImpl.java | 497 ++++++++----- .../com/cloud/network/dao/IPAddressDaoImpl.java | 2 +- .../java/com/cloud/network/dao/NetworkDaoImpl.java | 3 +- .../cloud/secstorage/CommandExecLogDaoImpl.java | 3 +- .../com/cloud/service/dao/ServiceOfferingDao.java | 4 +- .../cloud/service/dao/ServiceOfferingDaoImpl.java | 11 +- .../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 | 2 +- .../cloud/upgrade/dao/DatabaseAccessObject.java | 11 + .../java/com/cloud/upgrade/dao/DbUpgradeUtils.java | 6 + .../com/cloud/upgrade/dao/Upgrade42000to42010.java | 39 + .../java/com/cloud/vm/dao/ConsoleProxyDao.java | 2 +- .../java/com/cloud/vm/dao/ConsoleProxyDaoImpl.java | 32 +- .../java/com/cloud/vm/dao/NicIpAliasDaoImpl.java | 3 +- .../main/java/com/cloud/vm/dao/VMInstanceDao.java | 21 +- .../java/com/cloud/vm/dao/VMInstanceDaoImpl.java | 229 +++++- .../resourcedetail/ResourceDetailsDao.java | 2 + .../resourcedetail/ResourceDetailsDaoBase.java | 15 + .../datastore/db/PrimaryDataStoreDaoImpl.java | 6 +- .../db/views/cloud.network_offering_view.sql | 8 +- .../cloud/capacity/dao/CapacityDaoImplTest.java | 99 +++ .../java/com/cloud/dc/dao/ClusterDaoImplTest.java | 78 ++ .../java/com/cloud/host/dao/HostDaoImplTest.java | 184 +++++ .../cloud/usage/dao/UsageStorageDaoImplTest.java | 7 +- .../resourcedetail/ResourceDetailsDaoBaseTest.java | 181 +++++ .../datastore/db/PrimaryDataStoreDaoImplTest.java | 39 +- .../agent/lb/IndirectAgentLBAlgorithm.java | 4 + .../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 | 36 + .../framework/jobs/dao/VmWorkJobDao.java | 1 + .../framework/jobs/dao/VmWorkJobDaoImpl.java | 16 + .../framework/jobs/dao/VmWorkJobDaoImplTest.java | 94 ++- .../acl/DynamicRoleBasedAPIAccessChecker.java | 70 +- .../affinity/ExplicitDedicationProcessor.java | 18 +- .../dedicated/DedicatedResourceManagerImpl.java | 61 +- .../cloud/deploy/ImplicitDedicationPlanner.java | 50 +- .../implicitplanner/ImplicitPlannerTest.java | 38 +- .../com/cloud/resource/AgentRoutingResource.java | 4 +- .../xenserver/discoverer/XcpServerDiscoverer.java | 9 +- .../cloudstack/metrics/PrometheusExporterImpl.java | 4 +- .../apache/cloudstack/metrics/MetricsService.java | 8 +- .../cloudstack/metrics/MetricsServiceImpl.java | 158 ++-- .../CloudStackPrimaryDataStoreLifeCycleImpl.java | 152 ++-- ...loudStackPrimaryDataStoreLifeCycleImplTest.java | 77 +- .../ScaleIOPrimaryDataStoreLifeCycle.java | 59 +- .../ScaleIOPrimaryDataStoreLifeCycleTest.java | 32 +- .../storage/datastore/util/StorPoolHelper.java | 14 +- .../java/com/cloud/alert/AlertManagerImpl.java | 96 ++- .../java/com/cloud/api/query/QueryManagerImpl.java | 6 +- .../com/cloud/api/query/dao/UserVmJoinDao.java | 4 +- .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 4 +- .../com/cloud/capacity/CapacityManagerImpl.java | 185 +++-- .../configuration/ConfigurationManagerImpl.java | 12 +- .../consoleproxy/ConsoleProxyManagerImpl.java | 12 +- .../deploy/DeploymentPlanningManagerImpl.java | 58 +- .../kvm/discoverer/LibvirtServerDiscoverer.java | 66 +- .../java/com/cloud/network/NetworkServiceImpl.java | 24 +- .../com/cloud/network/as/AutoScaleManagerImpl.java | 2 +- .../network/security/SecurityGroupListener.java | 2 +- .../java/com/cloud/network/vpc/VpcManagerImpl.java | 4 +- .../com/cloud/resource/ResourceManagerImpl.java | 85 +-- .../resource/RollingMaintenanceManagerImpl.java | 2 +- .../resourcelimit/ResourceLimitManagerImpl.java | 11 +- .../com/cloud/server/ManagementServerImpl.java | 24 +- .../main/java/com/cloud/server/StatsCollector.java | 100 +-- .../java/com/cloud/storage/StorageManagerImpl.java | 84 ++- .../cloud/storage/download/DownloadListener.java | 42 +- .../main/java/com/cloud/vm/UserVmManagerImpl.java | 2 +- .../org/apache/cloudstack/acl/RoleManagerImpl.java | 2 +- .../agent/lb/IndirectAgentLBServiceImpl.java | 94 ++- .../IndirectAgentLBRoundRobinAlgorithm.java | 5 + .../OutOfBandManagementServiceImpl.java | 20 +- .../java/com/cloud/alert/AlertManagerImplTest.java | 71 +- .../cloud/capacity/CapacityManagerImplTest.java | 182 +++++ .../configuration/ConfigurationManagerTest.java | 20 +- .../deploy/DeploymentPlanningManagerImplTest.java | 4 +- .../com/cloud/network/Ipv6ServiceImplTest.java | 62 +- .../com/cloud/network/NetworkServiceImplTest.java | 26 +- .../cloud/network/as/AutoScaleManagerImplTest.java | 149 ++-- .../cloud/resource/MockResourceManagerImpl.java | 4 +- .../ResourceLimitManagerImplTest.java | 14 +- .../java/com/cloud/user/DomainManagerImplTest.java | 47 +- .../java/com/cloud/user/MockUsageEventDao.java | 6 + .../java/com/cloud/vm/FirstFitPlannerTest.java | 2 - .../agent/lb/IndirectAgentLBServiceImplTest.java | 55 +- .../networkoffering/CreateNetworkOfferingTest.java | 49 +- .../SecondaryStorageManagerImpl.java | 16 +- setup/db/create-schema-simulator.sql | 3 +- test/integration/smoke/test_dynamicroles.py | 15 +- ui/src/config/section/infra/hosts.js | 2 +- ui/src/views/AutogenView.vue | 2 +- ui/src/views/dashboard/CapacityDashboard.vue | 22 +- ui/src/views/network/FirewallRules.vue | 3 + .../utils/backoff/impl/ConstantTimeBackoff.java | 1 - .../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 | 186 ++--- .../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 +++ 145 files changed, 4767 insertions(+), 2428 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 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/org/apache/cloudstack/resourcedetail/ResourceDetailsDaoBaseTest.java create mode 100644 server/src/test/java/com/cloud/capacity/CapacityManagerImplTest.java 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