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 <[email protected]>
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);