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

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


The following commit(s) were added to refs/heads/main by this push:
     new 33e2a4dd663 VPC: update default network offering for vpc tier to 
conserve_mode=1 (#8309)
33e2a4dd663 is described below

commit 33e2a4dd6635798f98d4726406ed1af4c00a4cc5
Author: Wei Zhou <[email protected]>
AuthorDate: Mon Dec 18 07:38:51 2023 +0100

    VPC: update default network offering for vpc tier to conserve_mode=1 (#8309)
    
    This PR updates the conserve mode of default vpc tier offering to 
conserve_mode=1
    so we can create both port forwarding and load balancing rules on a public 
IP in vpc tiers.
    
    This fixes #8313
---
 .../src/main/resources/META-INF/db/schema-41810to41900.sql     |  2 ++
 server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java |  4 ++--
 test/integration/component/test_vpc_network.py                 | 10 +++++-----
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git 
a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql 
b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql
index 308d48a311c..15307353c3f 100644
--- a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql
+++ b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql
@@ -21,6 +21,8 @@
 
 ALTER TABLE `cloud`.`mshost` MODIFY COLUMN `state` varchar(25);
 
+UPDATE `cloud`.`network_offerings` SET conserve_mode=1 WHERE 
name='DefaultIsolatedNetworkOfferingForVpcNetworks';
+
 -- Invalidate existing console_session records
 UPDATE `cloud`.`console_session` SET removed=now();
 -- Modify acquired column in console_session to datetime type
diff --git a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java 
b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
index 1f99d164625..341a3b81b42 100644
--- a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
@@ -1809,9 +1809,9 @@ public class VpcManagerImpl extends ManagerBase 
implements VpcManager, VpcProvis
          * ("No redunant router support when network belnogs to VPC"); }
          */
 
-        // 4) Conserve mode should be off
+        // 4) Conserve mode should be off in older versions
         if (guestNtwkOff.isConserveMode()) {
-            throw new InvalidParameterValueException("Only networks with 
conserve mode Off can belong to VPC");
+            s_logger.info("Creating a network with conserve mode in VPC");
         }
 
         // 5) If Netscaler is LB provider make sure it is in dedicated mode
diff --git a/test/integration/component/test_vpc_network.py 
b/test/integration/component/test_vpc_network.py
index 9a313e23094..db436bbd398 100644
--- a/test/integration/component/test_vpc_network.py
+++ b/test/integration/component/test_vpc_network.py
@@ -1001,23 +1001,23 @@ class TestVPCNetwork(cloudstackTestCase):
         # 1. Create a network offering with guest type=Isolated that has all
         #    supported Services(Vpn,dhcpdns,UserData, SourceNat,Static NAT,LB
         #    and PF,LB,NetworkAcl ) provided by VPCVR and conserve mode is ON
-        # 2. Create offering fails since Conserve mode ON isn't allowed within
-        #    VPC
+        # 2. Create offering should succeed since Conserve mode ON is allowed 
within
+        #    VPC since https://github.com/apache/cloudstack/pull/8309
         # 3. Repeat test for offering which has Netscaler as external LB
         #    provider
         """
 
         self.debug("Creating network offering with conserve mode = ON")
 
-        with self.assertRaises(Exception):
+        try:
             nw = NetworkOffering.create(
                 self.apiclient,
                 self.services[value],
                 conservemode=True
             )
             self.cleanup.append(nw)
-        self.debug(
-            "Network creation failed as VPC support nw with conserve mode OFF")
+        except Exception as e:
+            self.warn("Network creation failed in VPC with conserve mode ON")
         return
 
 

Reply via email to