This is an automated email from the ASF dual-hosted git repository.

joao pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new b19c069ade5 allow domain suffix update in shared networks (#9585)
b19c069ade5 is described below

commit b19c069ade5d82c0f6d249e23857f8340d87e7dc
Author: dahn <d...@onecht.net>
AuthorDate: Wed Sep 11 14:57:53 2024 +0200

    allow domain suffix update in shared networks (#9585)
    
    * allow domeain suffix update in shared networks
    
    * add network domain edit for shared networks to UI
---
 server/src/main/java/com/cloud/network/NetworkServiceImpl.java |  8 ++++++--
 ui/src/views/network/UpdateNetwork.vue                         | 10 ++++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

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 @@
           </template>
           <a-switch v-model:checked="form.changecidr" />
         </a-form-item>
-        <a-form-item name="networkdomain" ref="networkdomain" 
v-if="isUpdatingIsolatedNetwork">
+        <a-form-item name="networkdomain" ref="networkdomain" 
v-if="hasNetworkDomain">
           <template #label>
             <tooltip-label :title="$t('label.networkdomain')" 
:tooltip="apiParams.guestvmcidr.description"/>
           </template>
@@ -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 || []

Reply via email to