apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
2.09k stars 1.11k forks source link

Network rate on VPC tier network offering are ignored #9763

Open rajujith opened 1 month ago

rajujith commented 1 month ago
ISSUE TYPE
COMPONENT NAME
VPC , VR
CLOUDSTACK VERSION
4.19.1.1
CONFIGURATION

VPC guest network offering with custom network rate defined. KVM

SUMMARY

While there is a global configuration to set the network throttling for guest networks the more specific value on the offering should take precedence and it should be applied on the VR's guest interface. Instead the the global configuration value 'network.throttling.rate' is applied ignoring the vale in the network offering.

STEPS TO REPRODUCE
1. Create a network offering for VPC and set a custom value for the Network rate.
2. Create a VPC and attach tier using the above network offering.
3. Check the network throttling on the VR. 
EXPECTED RESULTS
Network rate/ network throttling should be taken from the network offering is specified. 
ACTUAL RESULTS
Network rate specified in the network offering is ignored. 

With a 5000 Mbps set on the network offering the VR gets 1000Mbps network rate set from the global configuration.

<interface type='bridge'>
      <mac address='02:01:00:cd:00:02'/>
      <source bridge='breth1-1087'/>
      <bandwidth>
        <inbound average='128000' peak='128000'/>
        <outbound average='128000' peak='128000'/>
      </bandwidth>
      <target dev='vnet7'/>
      <model type='virtio'/>
      <link state='up'/>
      <alias name='net3'/>
      <rom bar='off' file=''/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </interface>

tc -p class show dev vnet7
class htb 1:1 root leaf 2: prio 0 rate 1024Mbit ceil 1024Mbit burst 1408b cburst 1408b
alexandremattioli commented 1 week ago

It sounds like the global setting is being used as a platform maximum allowed instead of a default value which can be over ridden by the network offering. Might be a documentation issue instead of an implementation one. It's quite confusing tho.

rajujith commented 1 week ago

It sounds like the global setting is being used as a platform maximum allowed instead of a default value which can be over ridden by the network offering. Might be a documentation issue instead of an implementation one. It's quite confusing tho.

It looks like an implementation issue to me, @alexandremattioli. Ideally, the network offering value should take effect over the global value.

DaanHoogland commented 1 week ago

@alexandremattioli @rajujith , would this be something that is to be controlled by the operator (whether it may be an overide by user or domain admin, or not)?

rajujith commented 1 week ago

@alexandremattioli @rajujith , would this be something that is to be controlled by the operator (whether it may be an overide by user or domain admin, or not)?

@DaanHoogland Yes operator defines the network's rate limit on the network offering but it is ignored.