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