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