From e8c1b5509ea2367c95eff62581f3e05978ac52c1 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Wed, 25 Jan 2023 10:38:28 +0100 Subject: [PATCH 1/2] VR: fix public-key is missing in VR after acquiring public IP (#7103) --- .../apache/cloudstack/network/topology/BasicNetworkVisitor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java b/server/src/main/java/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java index c25c80f5fc2..f366189b265 100644 --- a/server/src/main/java/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java +++ b/server/src/main/java/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java @@ -254,7 +254,7 @@ public class BasicNetworkVisitor extends NetworkTopologyVisitor { final NicVO nicVo = userdata.getNicVo(); final Commands commands = new Commands(Command.OnError.Stop); - _commandSetupHelper.createVmDataCommand(router, userVM, nicVo, null, commands); + _commandSetupHelper.createVmDataCommand(router, userVM, nicVo, userVM.getDetail("SSH.PublicKey"), commands); return _networkGeneralHelper.sendCommandsToRouter(router, commands); } From f39b02aec715d188f9c5121610bd16694797b758 Mon Sep 17 00:00:00 2001 From: dahn Date: Thu, 26 Jan 2023 00:53:36 -0800 Subject: [PATCH 2/2] Use long instead of int in DB statistics for Queries and Uptime. (#7125) Co-authored-by: Wei Zhou --- .../cloudstack/metrics/MetricsServiceImpl.java | 4 ++-- .../cloudstack/response/DbMetricsResponse.java | 8 ++++---- .../main/java/com/cloud/server/StatsCollector.java | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/plugins/metrics/src/main/java/org/apache/cloudstack/metrics/MetricsServiceImpl.java b/plugins/metrics/src/main/java/org/apache/cloudstack/metrics/MetricsServiceImpl.java index 3c1700965d4..079a2d4fc85 100644 --- a/plugins/metrics/src/main/java/org/apache/cloudstack/metrics/MetricsServiceImpl.java +++ b/plugins/metrics/src/main/java/org/apache/cloudstack/metrics/MetricsServiceImpl.java @@ -807,8 +807,8 @@ public class MetricsServiceImpl extends MutualExclusiveIdsManagerBase implements private void getQueryHistory(DbMetricsResponse response) { Map dbStats = ApiDBUtils.getDbStatistics(); if (dbStats != null) { - response.setQueries((Integer)dbStats.get(DbStatsCollection.queries)); - response.setUptime((Integer)dbStats.get(DbStatsCollection.uptime)); + response.setQueries((Long)dbStats.get(DbStatsCollection.queries)); + response.setUptime((Long)dbStats.get(DbStatsCollection.uptime)); } List loadHistory = (List) dbStats.get(DbStatsCollection.loadAvarages); diff --git a/plugins/metrics/src/main/java/org/apache/cloudstack/response/DbMetricsResponse.java b/plugins/metrics/src/main/java/org/apache/cloudstack/response/DbMetricsResponse.java index 8abf5b585ac..1ef1ee6f527 100644 --- a/plugins/metrics/src/main/java/org/apache/cloudstack/response/DbMetricsResponse.java +++ b/plugins/metrics/src/main/java/org/apache/cloudstack/response/DbMetricsResponse.java @@ -43,7 +43,7 @@ public class DbMetricsResponse extends BaseResponse { @SerializedName(MetricConstants.UPTIME) @Param(description = "the uptime of the DB in seconds") - private int uptime; + private long uptime; @SerializedName(MetricConstants.TLS_VERSIONS) @Param(description = "the tls versions currently in use (accepted) by the DB") @@ -59,7 +59,7 @@ public class DbMetricsResponse extends BaseResponse { @SerializedName(MetricConstants.QUERIES) @Param(description = "the number of queries performed on the DB") - private int queries; + private long queries; @SerializedName(MetricConstants.DATABASE_LOAD_AVERAGES) @Param(description = "the last measured load averages on the DB") @@ -77,7 +77,7 @@ public class DbMetricsResponse extends BaseResponse { this.connections = connections; } - public void setUptime(int uptime) { + public void setUptime(long uptime) { this.uptime = uptime; } @@ -93,7 +93,7 @@ public class DbMetricsResponse extends BaseResponse { this.versionComment = versionComment; } - public void setQueries(int queries) { + public void setQueries(long queries) { this.queries = queries; } diff --git a/server/src/main/java/com/cloud/server/StatsCollector.java b/server/src/main/java/com/cloud/server/StatsCollector.java index 4a353a1aa1c..323df477ffe 100644 --- a/server/src/main/java/com/cloud/server/StatsCollector.java +++ b/server/src/main/java/com/cloud/server/StatsCollector.java @@ -714,11 +714,11 @@ public class StatsCollector extends ManagerBase implements ComponentMethodInterc LOGGER.debug(String.format("%s is running...", this.getClass().getSimpleName())); try { - int lastUptime = (dbStats.containsKey(uptime) ? (Integer) dbStats.get(uptime) : 0); - int lastQueries = (dbStats.containsKey(queries) ? (Integer) dbStats.get(queries) : 0); + long lastUptime = (dbStats.containsKey(uptime) ? (Long) dbStats.get(uptime) : 0); + long lastQueries = (dbStats.containsKey(queries) ? (Long) dbStats.get(queries) : 0); getDynamicDataFromDB(); - int interval = (Integer) dbStats.get(uptime) - lastUptime; - int activity = (Integer) dbStats.get(queries) - lastQueries; + long interval = (Long) dbStats.get(uptime) - lastUptime; + long activity = (Long) dbStats.get(queries) - lastQueries; loadHistory.add(0, Double.valueOf(activity / interval)); int maxsize = DATABASE_SERVER_LOAD_HISTORY_RETENTION_NUMBER.value(); while (loadHistory.size() > maxsize) { @@ -736,8 +736,8 @@ public class StatsCollector extends ManagerBase implements ComponentMethodInterc private void getDynamicDataFromDB() { Map stats = DbUtil.getDbInfo("STATUS", queries, uptime); dbStats.put(collectionTime, new Date()); - dbStats.put(queries, (Integer.valueOf(stats.get(queries)))); - dbStats.put(uptime, (Integer.valueOf(stats.get(uptime)))); + dbStats.put(queries, (Long.valueOf(stats.get(queries)))); + dbStats.put(uptime, (Long.valueOf(stats.get(uptime)))); }