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);