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 || []