From 8dc59936645805272a2b48338eef96531a025062 Mon Sep 17 00:00:00 2001 From: Pierre Le Fevre Date: Fri, 31 Mar 2023 11:47:16 +0200 Subject: [PATCH 1/4] Add domainpath to listnetwork and UI network tab --- .../apache/cloudstack/api/response/NetworkResponse.java | 8 ++++++++ server/src/main/java/com/cloud/api/ApiResponseHelper.java | 4 ++++ ui/src/config/section/network.js | 6 +++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java index 243579e2f710..846f14452c7b 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java @@ -163,6 +163,10 @@ public class NetworkResponse extends BaseResponseWithAssociatedNetwork implement @Param(description = "the domain name of the network owner") private String domain; + @SerializedName(ApiConstants.DOMAIN_PATH) + @Param(description = "path of the Domain the account belongs to", since = "4.18") + private String domainPath; + @SerializedName("isdefault") @Param(description = "true if network is default, false otherwise") private Boolean isDefault; @@ -420,6 +424,10 @@ public void setDomainName(String domain) { this.domain = domain; } + public void setDomainPath(String domainPath) { + this.domainPath = domainPath; + } + public void setNetworkOfferingAvailability(String networkOfferingAvailability) { this.networkOfferingAvailability = networkOfferingAvailability; } diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java index 8fffebb33034..d480fad3321b 100644 --- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java +++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java @@ -2515,6 +2515,10 @@ public NetworkResponse createNetworkResponse(ResponseView view, Network network) Domain domain = ApiDBUtils.findDomainById(domainNetworkDetails.first()); if (domain != null) { response.setDomainId(domain.getUuid()); + + StringBuilder domainPath = new StringBuilder("ROOT"); + (domainPath.append(domain.getPath())).deleteCharAt(domainPath.length() - 1); + response.setDomainPath(domainPath.toString()); } } response.setSubdomainAccess(domainNetworkDetails.second()); diff --git a/ui/src/config/section/network.js b/ui/src/config/section/network.js index 5e197181c7a1..7684a86e428b 100644 --- a/ui/src/config/section/network.js +++ b/ui/src/config/section/network.js @@ -33,20 +33,20 @@ export default { permission: ['listNetworks'], resourceType: 'Network', columns: () => { - var fields = ['name', 'state', 'type', 'vpcname', 'cidr', 'ip6cidr', 'broadcasturi', 'domain', 'account', 'zonename'] + var fields = ['name', 'state', 'type', 'vpcname', 'cidr', 'ip6cidr', 'broadcasturi', 'domainpath', 'account', 'zonename'] if (!isAdmin()) { fields = fields.filter(function (e) { return e !== 'broadcasturi' }) } return fields }, details: () => { - var fields = ['name', 'id', 'description', 'type', 'traffictype', 'vpcid', 'vlan', 'broadcasturi', 'cidr', 'ip6cidr', 'netmask', 'gateway', 'aclname', 'ispersistent', 'restartrequired', 'reservediprange', 'redundantrouter', 'networkdomain', 'egressdefaultpolicy', 'zonename', 'account', 'domain', 'associatednetwork', 'associatednetworkid', 'ip6firewall', 'ip6routing', 'ip6routes', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'publicmtu', 'privatemtu'] + var fields = ['name', 'id', 'description', 'type', 'traffictype', 'vpcid', 'vlan', 'broadcasturi', 'cidr', 'ip6cidr', 'netmask', 'gateway', 'aclname', 'ispersistent', 'restartrequired', 'reservediprange', 'redundantrouter', 'networkdomain', 'egressdefaultpolicy', 'zonename', 'account', 'domainpath', 'associatednetwork', 'associatednetworkid', 'ip6firewall', 'ip6routing', 'ip6routes', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'publicmtu', 'privatemtu'] if (!isAdmin()) { fields = fields.filter(function (e) { return e !== 'broadcasturi' }) } return fields }, - filters: ['all', 'account', 'domain', 'shared'], + filters: ['all', 'account', 'domainpath', 'shared'], searchFilters: ['keyword', 'zoneid', 'domainid', 'account', 'type', 'tags'], related: [{ name: 'vm', From 2a66aa39bcfea7ccb0a5522786087c0feed5f730 Mon Sep 17 00:00:00 2001 From: Pierre Le Fevre Date: Fri, 31 Mar 2023 12:02:50 +0200 Subject: [PATCH 2/4] Fix domainpath description --- .../org/apache/cloudstack/api/response/NetworkResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java index 846f14452c7b..37be79fb6b1f 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java @@ -164,7 +164,7 @@ public class NetworkResponse extends BaseResponseWithAssociatedNetwork implement private String domain; @SerializedName(ApiConstants.DOMAIN_PATH) - @Param(description = "path of the Domain the account belongs to", since = "4.18") + @Param(description = "path of the Domain the network belongs to", since = "4.18") private String domainPath; @SerializedName("isdefault") From b876e97783e43fd79e3179d208119339ae09b22c Mon Sep 17 00:00:00 2001 From: Pierre Le Fevre Date: Fri, 31 Mar 2023 13:03:34 +0200 Subject: [PATCH 3/4] Fix version number on domainPath attribute --- .../org/apache/cloudstack/api/response/NetworkResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java index 37be79fb6b1f..b91d8a622f72 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java @@ -164,7 +164,7 @@ public class NetworkResponse extends BaseResponseWithAssociatedNetwork implement private String domain; @SerializedName(ApiConstants.DOMAIN_PATH) - @Param(description = "path of the Domain the network belongs to", since = "4.18") + @Param(description = "path of the Domain the network belongs to", since = "4.18.1") private String domainPath; @SerializedName("isdefault") From 11d7a84a1b897bed917b59ed1fe4dd6984bd0249 Mon Sep 17 00:00:00 2001 From: Pierre Le Fevre Date: Mon, 15 May 2023 11:13:29 +0200 Subject: [PATCH 4/4] update target branch version --- .../org/apache/cloudstack/api/response/NetworkResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java index b91d8a622f72..d34f949372ae 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java @@ -164,7 +164,7 @@ public class NetworkResponse extends BaseResponseWithAssociatedNetwork implement private String domain; @SerializedName(ApiConstants.DOMAIN_PATH) - @Param(description = "path of the Domain the network belongs to", since = "4.18.1") + @Param(description = "path of the Domain the network belongs to", since = "4.19.0.0") private String domainPath; @SerializedName("isdefault")