You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2025/05/01 13:44:30 UTC

(cloudstack) 01/01: Merge branch '4.20'

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

dahn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit d7d9d131b2dc967a355a20c2fc2bbd6ad871b889
Merge: c2259cef5d2 01d87b77479
Author: Daan Hoogland <da...@apache.org>
AuthorDate: Thu May 1 15:44:09 2025 +0200

    Merge branch '4.20'

 .../main/java/com/cloud/agent/AgentManager.java    |  4 ++--
 .../com/cloud/agent/manager/AgentManagerImpl.java  |  9 +++++---
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |  2 +-
 .../resource/XenServerStorageProcessor.java        | 23 +++++++++++++++++++-
 .../driver/CephObjectStoreDriverImpl.java          | 10 +++++----
 .../driver/CephObjectStoreDriverImplTest.java      |  2 +-
 python/lib/cloudutils/networkConfig.py             |  2 +-
 .../network/topology/AdvancedNetworkTopology.java  |  5 -----
 .../resource/ResourceCleanupServiceImplTest.java   | 25 +++++++++++++++++++---
 ui/src/config/section/infra/hosts.js               |  7 +++++-
 ui/src/views/compute/EditVM.vue                    |  1 -
 ui/src/views/image/RegisterOrUploadIso.vue         |  9 ++++++++
 ui/src/views/image/RegisterOrUploadTemplate.vue    |  6 +++---
 .../java/com/cloud/utils/nio/NioConnection.java    |  1 -
 14 files changed, 79 insertions(+), 27 deletions(-)

diff --cc engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java
index 6d4bcb7b0d9,1abb78b32e9..9b410ce82a5
--- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java
@@@ -49,14 -48,11 +49,14 @@@ import org.apache.cloudstack.framework.
  import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
  import org.apache.cloudstack.framework.jobs.AsyncJob;
  import org.apache.cloudstack.framework.jobs.AsyncJobExecutionContext;
 +import org.apache.cloudstack.maintenance.ManagementServerMaintenanceListener;
 +import org.apache.cloudstack.maintenance.ManagementServerMaintenanceManager;
  import org.apache.cloudstack.managed.context.ManagedContextRunnable;
 +import org.apache.cloudstack.management.ManagementServerHost;
  import org.apache.cloudstack.outofbandmanagement.dao.OutOfBandManagementDao;
  import org.apache.cloudstack.utils.identity.ManagementServerNode;
- import org.apache.commons.collections.MapUtils;
  import org.apache.cloudstack.utils.reflectiontostringbuilderutils.ReflectionToStringBuilderUtils;
+ import org.apache.commons.collections.MapUtils;
  import org.apache.commons.lang3.BooleanUtils;
  import org.apache.commons.lang3.StringUtils;
  import org.apache.logging.log4j.ThreadContext;
@@@ -212,26 -199,28 +212,28 @@@ public class AgentManagerImpl extends M
      @Inject
      ManagementServiceConfiguration mgmtServiceConf;
  
 -    protected final ConfigKey<Integer> Workers = new ConfigKey<Integer>("Advanced", Integer.class, "workers", "5",
 +    protected final ConfigKey<Integer> Workers = new ConfigKey<>("Advanced", Integer.class, "workers", "5",
              "Number of worker threads handling remote agent connections.", false);
 -    protected final ConfigKey<Integer> Port = new ConfigKey<Integer>("Advanced", Integer.class, "port", "8250", "Port to listen on for remote agent connections.", false);
 +    protected final ConfigKey<Integer> Port = new ConfigKey<>("Advanced", Integer.class, "port", "8250", "Port to listen on for remote (indirect) agent connections.", false);
      protected final ConfigKey<Integer> RemoteAgentSslHandshakeTimeout = new ConfigKey<>("Advanced",
              Integer.class, "agent.ssl.handshake.timeout", "30",
 -            "Seconds after which SSL handshake times out during remote agent connections.", false);
 +            "Seconds after which SSL handshake times out during remote (indirect) agent connections.", false);
      protected final ConfigKey<Integer> RemoteAgentMaxConcurrentNewConnections = new ConfigKey<>("Advanced",
              Integer.class, "agent.max.concurrent.new.connections", "0",
 -            "Number of maximum concurrent new connections server allows for remote agents. " +
 +            "Number of maximum concurrent new connections server allows for remote (indirect) agents. " +
                      "If set to zero (default value) then no limit will be enforced on concurrent new connections",
              false);
+     protected final ConfigKey<Integer> RemoteAgentNewConnectionsMonitorInterval = new ConfigKey<>("Advanced", Integer.class, "agent.connections.monitor.interval", "1800",
+             "Time in seconds to monitor the new agent connections and cleanup the expired connections.", false);
 -    protected final ConfigKey<Integer> AlertWait = new ConfigKey<Integer>("Advanced", Integer.class, "alert.wait", "1800",
 +    protected final ConfigKey<Integer> AlertWait = new ConfigKey<>("Advanced", Integer.class, "alert.wait", "1800",
              "Seconds to wait before alerting on a disconnected agent", true);
 -    protected final ConfigKey<Integer> DirectAgentLoadSize = new ConfigKey<Integer>("Advanced", Integer.class, "direct.agent.load.size", "16",
 +    protected final ConfigKey<Integer> DirectAgentLoadSize = new ConfigKey<>("Advanced", Integer.class, "direct.agent.load.size", "16",
              "The number of direct agents to load each time", false);
 -    protected final ConfigKey<Integer> DirectAgentPoolSize = new ConfigKey<Integer>("Advanced", Integer.class, "direct.agent.pool.size", "500",
 +    protected final ConfigKey<Integer> DirectAgentPoolSize = new ConfigKey<>("Advanced", Integer.class, "direct.agent.pool.size", "500",
              "Default size for DirectAgentPool", false);
 -    protected final ConfigKey<Float> DirectAgentThreadCap = new ConfigKey<Float>("Advanced", Float.class, "direct.agent.thread.cap", "1",
 +    protected final ConfigKey<Float> DirectAgentThreadCap = new ConfigKey<>("Advanced", Float.class, "direct.agent.thread.cap", "1",
              "Percentage (as a value between 0 and 1) of direct.agent.pool.size to be used as upper thread cap for a single direct agent to process requests", false);
 -    protected final ConfigKey<Boolean> CheckTxnBeforeSending = new ConfigKey<Boolean>("Developer", Boolean.class, "check.txn.before.sending.agent.commands", "false",
 +    protected final ConfigKey<Boolean> CheckTxnBeforeSending = new ConfigKey<>("Developer", Boolean.class, "check.txn.before.sending.agent.commands", "false",
              "This parameter allows developers to enable a check to see if a transaction wraps commands that are sent to the resource.  This is not to be enabled on production systems.", true);
  
      @Override