From 1ce75a720192283593e01da06fb8851eb0aca940 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Tue, 14 Feb 2023 10:14:27 +0100 Subject: [PATCH] server: dedicate vxlan range to account This fixes #6871 --- .../main/java/com/cloud/network/NetworkServiceImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index 2aca1f7c6491..8f2d250f0562 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -4048,12 +4048,14 @@ public GuestVlanRange dedicateGuestVlanRange(DedicateGuestVlanRangeCmd cmd) { } vlanOwnerId = vlanOwner.getAccountId(); - // Verify physical network isolation type is VLAN + // Verify physical network isolation methods contain VLAN or VXLAN PhysicalNetworkVO physicalNetwork = _physicalNetworkDao.findById(physicalNetworkId); if (physicalNetwork == null) { throw new InvalidParameterValueException("Unable to find physical network by id " + physicalNetworkId); - } else if (!physicalNetwork.getIsolationMethods().isEmpty() && !physicalNetwork.getIsolationMethods().contains("VLAN")) { - throw new InvalidParameterValueException("Cannot dedicate guest vlan range. " + "Physical isolation type of network " + physicalNetworkId + " is not VLAN"); + } else if (!physicalNetwork.getIsolationMethods().isEmpty() && + !physicalNetwork.getIsolationMethods().contains("VLAN") && + !physicalNetwork.getIsolationMethods().contains("VXLAN")) { + throw new InvalidParameterValueException("Cannot dedicate guest vlan range. " + "Physical isolation type of network " + physicalNetworkId + " is not VLAN nor VXLAN"); } // Get the start and end vlan