Skip to content

Commit de84b11

Browse files
committed
Show network rate for compute/system and network offering
1 parent a0aafe2 commit de84b11

4 files changed

Lines changed: 18 additions & 5 deletions

File tree

api/src/main/java/org/apache/cloudstack/api/response/NetworkResponse.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,10 @@ public class NetworkResponse extends BaseResponseWithAssociatedNetwork implement
335335
@Param(description = ApiConstants.PARAMETER_DESCRIPTION_KEEP_MAC_ADDRESS_ON_PUBLIC_NIC, since = "4.23.0")
336336
private Boolean keepMacAddressOnPublicNic;
337337

338+
@SerializedName(ApiConstants.NETWORKRATE)
339+
@Param(description = "Data transfer rate in megabits per second allowed.", since = "4.23.0")
340+
private Integer networkRate;
341+
338342
public NetworkResponse() {}
339343

340344
public Boolean getDisplayNetwork() {
@@ -710,4 +714,12 @@ public void setIpv6Dns2(String ipv6Dns2) {
710714
public void setKeepMacAddressOnPublicNic(Boolean keepMacAddressOnPublicNic) {
711715
this.keepMacAddressOnPublicNic = keepMacAddressOnPublicNic;
712716
}
717+
718+
public Integer getNetworkRate() {
719+
return networkRate;
720+
}
721+
722+
public void setNetworkRate(Integer networkRate) {
723+
this.networkRate = networkRate;
724+
}
713725
}

server/src/main/java/com/cloud/api/ApiResponseHelper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2678,6 +2678,7 @@ public NetworkResponse createNetworkResponse(ResponseView view, Network network)
26782678
response.setNetworkOfferingAvailability(networkOffering.getAvailability().toString());
26792679
response.setIsPersistent(networkOffering.isPersistent());
26802680
response.setSpecifyVlan(networkOffering.isSpecifyVlan());
2681+
response.setNetworkRate(ApiDBUtils.getNetworkRate(networkOffering.getId()));
26812682
if (Network.GuestType.Isolated.equals(network.getGuestType()) && network.getVpcId() == null) {
26822683
response.setEgressDefaultPolicy(networkOffering.isEgressDefaultPolicy());
26832684
}

ui/src/config/section/network.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export default {
4949
return fields
5050
},
5151
details: () => {
52-
const fields = ['name', 'id', 'description', 'type', 'traffictype', 'vpcid', 'vlan', 'cidr', 'ip6cidr', 'netmask', 'gateway', 'asnumber', 'aclname', 'ispersistent', 'restartrequired', 'reservediprange', 'redundantrouter', 'networkdomain', 'egressdefaultpolicy', 'zonename', 'account', 'domainpath', 'associatednetwork', 'associatednetworkid', 'ip4routing', 'ip6firewall', 'ip6routing', 'ip6routes', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'publicmtu', 'privatemtu']
52+
const fields = ['name', 'id', 'description', 'type', 'traffictype', 'networkrate', 'vpcid', 'vlan', 'cidr', 'ip6cidr', 'netmask', 'gateway', 'asnumber', 'aclname', 'ispersistent', 'restartrequired', 'reservediprange', 'redundantrouter', 'networkdomain', 'egressdefaultpolicy', 'zonename', 'account', 'domainpath', 'associatednetwork', 'associatednetworkid', 'ip4routing', 'ip6firewall', 'ip6routing', 'ip6routes', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'publicmtu', 'privatemtu']
5353
if (isAdmin()) {
5454
const vlanIndex = fields.findIndex(detail => detail === 'vlan')
5555
fields.splice(vlanIndex + 1, 0, 'broadcasturi')

ui/src/config/section/offering.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ export default {
3939
return params
4040
},
4141
filters: ['active', 'inactive'],
42-
columns: ['name', 'displaytext', 'state', 'cpunumber', 'cpuspeed', 'memory', 'gpu', 'domain', 'zone', 'order'],
42+
columns: ['name', 'displaytext', 'state', 'cpunumber', 'cpuspeed', 'memory', 'networkrate', 'gpu', 'domain', 'zone', 'order'],
4343
details: () => {
44-
var fields = ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'iscustomizediops', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'hosttags', 'tags', 'storageaccessgroups', 'storagetags', 'domain', 'zone', 'created', 'dynamicscalingenabled', 'diskofferingstrictness', 'encryptroot', 'purgeresources', 'leaseduration', 'gpucardid', 'gpucardname', 'vgpuprofileid', 'vgpuprofilename', 'gpucount', 'gpudisplay', 'leaseexpiryaction', 'externaldetails']
44+
var fields = ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'iscustomizediops', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'networkrate', 'hosttags', 'tags', 'storageaccessgroups', 'storagetags', 'domain', 'zone', 'created', 'dynamicscalingenabled', 'diskofferingstrictness', 'encryptroot', 'purgeresources', 'leaseduration', 'gpucardid', 'gpucardname', 'vgpuprofileid', 'vgpuprofilename', 'gpucount', 'gpudisplay', 'leaseexpiryaction', 'externaldetails']
4545
if (store.getters.apis.createServiceOffering &&
4646
store.getters.apis.createServiceOffering.params.filter(x => x.name === 'storagepolicy').length > 0) {
4747
fields.splice(6, 0, 'vspherestoragepolicy')
@@ -161,9 +161,9 @@ export default {
161161
permission: ['listServiceOfferings', 'listInfrastructure'],
162162
searchFilters: ['name', 'zoneid', 'domainid', 'cpunumber', 'cpuspeed', 'memory'],
163163
params: { issystem: 'true', isrecursive: 'true' },
164-
columns: ['name', 'state', 'systemvmtype', 'cpunumber', 'cpuspeed', 'memory', 'storagetype', 'offerha', 'order'],
164+
columns: ['name', 'state', 'systemvmtype', 'cpunumber', 'cpuspeed', 'memory', 'networkrate', 'storagetype', 'offerha', 'order'],
165165
filters: ['active', 'inactive'],
166-
details: ['name', 'id', 'displaytext', 'systemvmtype', 'provisioningtype', 'storagetype', 'iscustomized', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'storagetags', 'hosttags', 'tags', 'domain', 'zone', 'created', 'dynamicscalingenabled', 'diskofferingstrictness'],
166+
details: ['name', 'id', 'displaytext', 'systemvmtype', 'provisioningtype', 'storagetype', 'iscustomized', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'networkrate', 'storagetags', 'hosttags', 'tags', 'domain', 'zone', 'created', 'dynamicscalingenabled', 'diskofferingstrictness'],
167167
resourceType: 'ServiceOffering',
168168
tabs: [
169169
{

0 commit comments

Comments
 (0)