From d9868cde62f76c15dd2184703ba02b8c5211a831 Mon Sep 17 00:00:00 2001 From: Andrija Panic <45762285+andrijapanicsb@users.noreply.github.com> Date: Thu, 24 Apr 2025 20:55:35 +0200 Subject: [PATCH 1/5] Update schema-42000to42010.sql Update dynamic setting for the network.gc.intervla and the wrong message for wait period. --- .../src/main/resources/META-INF/db/schema-42000to42010.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql b/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql index 9d170151e2c5..17929fcb9d1a 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql @@ -69,3 +69,8 @@ CALL `cloud`.`IDEMPOTENT_UPDATE_API_PERMISSION`('Read-Only Admin - Default', 'va CALL `cloud`.`IDEMPOTENT_UPDATE_API_PERMISSION`('Support Admin - Default', 'setupUserTwoFactorAuthentication', 'ALLOW'); CALL `cloud`.`IDEMPOTENT_UPDATE_API_PERMISSION`('Support Admin - Default', 'validateUserTwoFactorAuthenticationCode', 'ALLOW'); + +-- Fix dynamic setting for the network.gc.interval + +UPDATE `cloud`.`configuration` SET `is_dynamic`=0 WHERE `name`='network.gc.interval'; + From 9a66f939d7b39504efb006674396cae40017d1f2 Mon Sep 17 00:00:00 2001 From: Andrija Panic <45762285+andrijapanicsb@users.noreply.github.com> Date: Thu, 24 Apr 2025 21:04:47 +0200 Subject: [PATCH 2/5] Update NetworkOrchestrator.java network.gc.value was mistakenly obtained from network.gc.wait added messages for both gc.wait and gc.internval. --- .../cloudstack/engine/orchestration/NetworkOrchestrator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index 5106fd824c77..15f5c222ccce 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -3556,7 +3556,9 @@ public void reallyRun() { final List networkIds = _networksDao.findNetworksToGarbageCollect(); final int netGcWait = NumbersUtil.parseInt(_configDao.getValue(NetworkGcWait.key()), 60); - logger.info("NetworkGarbageCollector uses '{}' seconds for GC interval.", netGcWait); + final int netGcInterval = NumbersUtil.parseInt(_configDao.getValue(NetworkGcInterval.key()), 60); + logger.info("NetworkGarbageCollector uses '{}' seconds for GC wait.", netGcWait); + logger.info("NetworkGarbageCollector uses '{}' seconds for GC interval.", netGcInterval); for (final Long networkId : networkIds) { if (!_networkModel.isNetworkReadyForGc(networkId)) { From e0e9d641fb487991c3b8dbed4aac39e372768579 Mon Sep 17 00:00:00 2001 From: nvazquez Date: Fri, 25 Apr 2025 06:58:27 -0300 Subject: [PATCH 3/5] Address review comments --- .../cloudstack/engine/orchestration/NetworkOrchestrator.java | 3 +-- .../src/main/resources/META-INF/db/schema-42000to42010.sql | 5 ----- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index 15f5c222ccce..7f7b9c130507 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -3557,8 +3557,7 @@ public void reallyRun() { final List networkIds = _networksDao.findNetworksToGarbageCollect(); final int netGcWait = NumbersUtil.parseInt(_configDao.getValue(NetworkGcWait.key()), 60); final int netGcInterval = NumbersUtil.parseInt(_configDao.getValue(NetworkGcInterval.key()), 60); - logger.info("NetworkGarbageCollector uses '{}' seconds for GC wait.", netGcWait); - logger.info("NetworkGarbageCollector uses '{}' seconds for GC interval.", netGcInterval); + logger.info("NetworkGarbageCollector uses '{}' seconds for GC wait and '{} seconds for GC interval.", netGcWait, netGcInterval); for (final Long networkId : networkIds) { if (!_networkModel.isNetworkReadyForGc(networkId)) { diff --git a/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql b/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql index 17929fcb9d1a..9d170151e2c5 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-42000to42010.sql @@ -69,8 +69,3 @@ CALL `cloud`.`IDEMPOTENT_UPDATE_API_PERMISSION`('Read-Only Admin - Default', 'va CALL `cloud`.`IDEMPOTENT_UPDATE_API_PERMISSION`('Support Admin - Default', 'setupUserTwoFactorAuthentication', 'ALLOW'); CALL `cloud`.`IDEMPOTENT_UPDATE_API_PERMISSION`('Support Admin - Default', 'validateUserTwoFactorAuthenticationCode', 'ALLOW'); - --- Fix dynamic setting for the network.gc.interval - -UPDATE `cloud`.`configuration` SET `is_dynamic`=0 WHERE `name`='network.gc.interval'; - From 97845169e2e94eb78f8991bf60d6ca18e3483523 Mon Sep 17 00:00:00 2001 From: nvazquez Date: Fri, 25 Apr 2025 07:00:55 -0300 Subject: [PATCH 4/5] Declare interval as non dynamic --- .../cloudstack/engine/orchestration/NetworkOrchestrator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index 7f7b9c130507..cae96004b9ff 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -4869,7 +4869,7 @@ public String getConfigComponentName() { public static final ConfigKey NetworkGcWait = new ConfigKey(Integer.class, "network.gc.wait", "Advanced", "600", "Time (in seconds) to wait before shutting down a network that's not in used", false, Scope.Global, null); public static final ConfigKey NetworkGcInterval = new ConfigKey(Integer.class, "network.gc.interval", "Advanced", "600", - "Seconds to wait before checking for networks to shutdown", true, Scope.Global, null); + "Seconds to wait before checking for networks to shutdown", false, Scope.Global, null); @Override public ConfigKey[] getConfigKeys() { From e1025a909545256f0d123ac0d910fd37cd656917 Mon Sep 17 00:00:00 2001 From: nvazquez Date: Fri, 25 Apr 2025 07:03:31 -0300 Subject: [PATCH 5/5] Missing char --- .../cloudstack/engine/orchestration/NetworkOrchestrator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index cae96004b9ff..ba81b5c71717 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -3557,7 +3557,7 @@ public void reallyRun() { final List networkIds = _networksDao.findNetworksToGarbageCollect(); final int netGcWait = NumbersUtil.parseInt(_configDao.getValue(NetworkGcWait.key()), 60); final int netGcInterval = NumbersUtil.parseInt(_configDao.getValue(NetworkGcInterval.key()), 60); - logger.info("NetworkGarbageCollector uses '{}' seconds for GC wait and '{} seconds for GC interval.", netGcWait, netGcInterval); + logger.info("NetworkGarbageCollector uses '{}' seconds for GC wait and '{}' seconds for GC interval.", netGcWait, netGcInterval); for (final Long networkId : networkIds) { if (!_networkModel.isNetworkReadyForGc(networkId)) {