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

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


The following commit(s) were added to refs/heads/4.18 by this push:
     new 11b5831d726 Advanced SG: allow create/update physical networks with 
vlan range (#8122)
11b5831d726 is described below

commit 11b5831d72643d88d5e12253b1770eae6353b9aa
Author: Wei Zhou <weiz...@apache.org>
AuthorDate: Wed Nov 8 13:39:08 2023 +0100

    Advanced SG: allow create/update physical networks with vlan range (#8122)
---
 .../main/java/com/cloud/network/NetworkServiceImpl.java  | 16 +++++-----------
 server/src/main/java/com/cloud/vm/UserVmManagerImpl.java |  4 ++--
 2 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java 
b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java
index 896292d6b7d..c46ab8c7a95 100644
--- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java
@@ -3816,12 +3816,8 @@ public class NetworkServiceImpl extends ManagerBase 
implements NetworkService, C
             throw new InvalidParameterException("Only one isolationMethod can 
be specified for a physical network at this time");
         }
 
-        if (vnetRange != null) {
-            // Verify zone type
-            if (zoneType == NetworkType.Basic || (zoneType == 
NetworkType.Advanced && zone.isSecurityGroupEnabled())) {
-                throw new InvalidParameterValueException(
-                        "Can't add vnet range to the physical network in the 
zone that supports " + zoneType + " network, Security Group enabled: " + 
zone.isSecurityGroupEnabled());
-            }
+        if (vnetRange != null && zoneType == NetworkType.Basic) {
+            throw new InvalidParameterValueException("Can't add vnet range to 
the physical network in the Basic zone");
         }
 
         BroadcastDomainRange broadcastDomainRange = null;
@@ -3943,11 +3939,9 @@ public class NetworkServiceImpl extends ManagerBase 
implements NetworkService, C
         if (zone == null) {
             throwInvalidIdException("Zone with id=" + 
network.getDataCenterId() + " doesn't exist in the system", 
String.valueOf(network.getDataCenterId()), "dataCenterId");
         }
-        if (newVnetRange != null) {
-            if (zone.getNetworkType() == NetworkType.Basic || 
(zone.getNetworkType() == NetworkType.Advanced && 
zone.isSecurityGroupEnabled())) {
-                throw new InvalidParameterValueException(
-                        "Can't add vnet range to the physical network in the 
zone that supports " + zone.getNetworkType() + " network, Security Group 
enabled: " + zone.isSecurityGroupEnabled());
-            }
+
+        if (newVnetRange != null && zone.getNetworkType() == 
NetworkType.Basic) {
+            throw new InvalidParameterValueException("Can't add vnet range to 
the physical network in the Basic zone");
         }
 
         if (tags != null && tags.size() > 1) {
diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java 
b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
index d2314198d0f..ffa427677dd 100644
--- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
@@ -3644,8 +3644,8 @@ public class UserVmManagerImpl extends ManagerBase 
implements UserVmManager, Vir
                     isSecurityGroupEnabledNetworkUsed = true;
                 }
 
-                if (!(network.getTrafficType() == TrafficType.Guest && 
network.getGuestType() == Network.GuestType.Shared)) {
-                    throw new InvalidParameterValueException("Can specify only 
Shared Guest networks when" + " deploy vm in Advance Security Group enabled 
zone");
+                if (network.getTrafficType() != TrafficType.Guest || 
!Arrays.asList(GuestType.Shared, 
GuestType.L2).contains(network.getGuestType())) {
+                    throw new InvalidParameterValueException("Can specify only 
Shared or L2 Guest networks when deploy vm in Advance Security Group enabled 
zone");
                 }
 
                 _accountMgr.checkAccess(owner, AccessType.UseEntry, false, 
network);

Reply via email to