From 03da8cbd3e0f1fa13fb09af054c4bc366de99975 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Fri, 15 Aug 2025 14:28:28 +0200 Subject: [PATCH] server: fix conserve_mode of DefaultIsolatedNetworkOfferingForVpcNetworks (#11133) * server: fix conserve_mode of DefaultIsolatedNetworkOfferingForVpcNetworks * test: update test_network_acl.py to test conserve mode * Update test/integration/smoke/test_network_acl.py Co-authored-by: Suresh Kumar Anaparti --- .../META-INF/db/schema-42010to42100.sql | 3 +++ .../cloud/server/ConfigurationServerImpl.java | 2 +- test/integration/smoke/test_network_acl.py | 26 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql b/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql index 6b2b27f3361..167dd92730c 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql @@ -754,3 +754,6 @@ SET `cs`.`domain_id` = ( FROM `cloud`.`account` `acc` WHERE `acc`.`id` = `cs`.`account_id` ); + +-- Re-apply VPC: update default network offering for vpc tier to conserve_mode=1 (#8309) +UPDATE `cloud`.`network_offerings` SET conserve_mode = 1 WHERE name = 'DefaultIsolatedNetworkOfferingForVpcNetworks'; diff --git a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java index fce848aa30d..e476c74d17d 100644 --- a/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/main/java/com/cloud/server/ConfigurationServerImpl.java @@ -1119,7 +1119,7 @@ public class ConfigurationServerImpl extends ManagerBase implements Configuratio NetworkOfferingVO defaultNetworkOfferingForVpcNetworks = new NetworkOfferingVO(NetworkOffering.DefaultIsolatedNetworkOfferingForVpcNetworks, "Offering for Isolated Vpc networks with Source Nat service enabled", TrafficType.Guest, false, false, null, null, true, Availability.Optional, - null, Network.GuestType.Isolated, false, false, false, false, true, true); + null, Network.GuestType.Isolated, true, false, false, false, true, true); defaultNetworkOfferingForVpcNetworks.setState(NetworkOffering.State.Enabled); defaultNetworkOfferingForVpcNetworks.setSupportsVmAutoScaling(true); diff --git a/test/integration/smoke/test_network_acl.py b/test/integration/smoke/test_network_acl.py index 0914f4dc2d4..b6a660a1156 100644 --- a/test/integration/smoke/test_network_acl.py +++ b/test/integration/smoke/test_network_acl.py @@ -125,6 +125,32 @@ class TestNetworkACL(cloudstackTestCase): self.assertTrue(vm.state == 'Running', "VM is not running") self.debug("VM %s deployed in VPC %s" %(vm.id, vpc.id)) + # 6) Acquire a Public IP, and add Load Balancing Rule + public_ip = PublicIPAddress.create( + self.apiclient, + zoneid=self.zone.id, + accountid=self.account.name, + domainid=self.domain.id, + vpcid=vpc.id + ) + LoadBalancerRule.create( + self.apiclient, + self.services["lbrule"], + ipaddressid=public_ip.ipaddress.id, + accountid=self.account.name, + vpcid=vpc.id, + networkid=ntwk.id, + domainid=self.account.domainid) + + # 7) Add Port Forwarding Rule with same Public IP to test conserve mode + NATRule.create( + self.apiclient, + vm, + self.services["natrule"], + ipaddressid=public_ip.ipaddress.id, + vpcid=vpc.id, + networkid=ntwk.id) + @classmethod def tearDownClass(cls): try: