diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index ba0b02dec6d..a77540ddcc3 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -3145,8 +3145,12 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C } // network offering and domain suffix can be updated for Isolated networks only in 3.0 - if ((networkOfferingId != null || domainSuffix != null) && network.getGuestType() != GuestType.Isolated) { - throw new InvalidParameterValueException("NetworkOffering and domain suffix upgrade can be performed for Isolated networks only"); + if (networkOfferingId != null && network.getGuestType() != GuestType.Isolated) { + throw new InvalidParameterValueException("NetworkOffering update can be performed for Isolated networks only."); + } + // network offering and domain suffix can be updated for Isolated networks only in 3.0 + if (domainSuffix != null && ! Arrays.asList(GuestType.Isolated, GuestType.Shared).contains(network.getGuestType())) { + throw new InvalidParameterValueException("Domain suffix update can only be performed for Isolated and shared networks."); } boolean networkOfferingChanged = false; diff --git a/ui/src/views/network/UpdateNetwork.vue b/ui/src/views/network/UpdateNetwork.vue index 42c91073ef2..84c0514adc9 100644 --- a/ui/src/views/network/UpdateNetwork.vue +++ b/ui/src/views/network/UpdateNetwork.vue @@ -141,7 +141,7 @@ - + @@ -274,7 +274,7 @@ export default { ip6dns1: this.resource.ip6dns1, ip6dns2: this.resource.ip6dns2 } - if (this.isUpdatingIsolatedNetwork) { + if (this.hasNetworkDomain) { this.resourceValues.networkdomain = this.resource.networkdomain } for (var field in this.resourceValues) { @@ -289,6 +289,12 @@ export default { isUpdatingIsolatedNetwork () { return this.resource && this.resource.type === 'Isolated' }, + isUpdatingSharedNetwork () { + return this.resource && this.resource.type === 'Shared' + }, + hasNetworkDomain () { + return this.isUpdatingIsolatedNetwork || this.isUpdatingSharedNetwork + }, selectedNetworkOfferingSupportsDns () { if (this.networkOffering) { const services = this.networkOffering?.service || []