Qos feature

Michael Pasternak mpastern at redhat.com
Mon May 27 11:18:48 UTC 2013


Hi Ofri,

On 05/23/2013 10:34 AM, Ofri Masad wrote:
> Hi Michael,
> 
> I've drafted the Network QoS feature page. www.ovirt.org/Features/Design/Network_QoS
> I'll appreciate it if you could go over it and see if you have comments or anything else to add to the API section.
> 
> Thanks,
> Ofri
> 

i have few questions/comments regarding api/general design:

1) incoming and outgoing traffic can be shaped independently, will we support
   granularity of enabling|disabling qos on inbound vs.outbound traffic?,
   then i'd suggest modelling QOS in api like this:

<qos>
  <inbound enabled="true|false">
    <average>xxx</average>
    <peak>yyy</peak>
    <burst>zzz</burst>
    <floor>qqq</floor>
  </inbound>
  <outbound enabled="true|false">
    <average>xxx</average>
    <peak>yyy</peak>
    <burst>zzz</burst>
  </outbound>
</qos>


2) at design page, i didn't saw you mentioning permission model for the QOS,
   who should be able seeing it/manipulating it (note, that in case of user
   that should not be seeing it, in api you shouldn't even show the state of the
   qos e.g active or not, maybe not even worth mentioning <qos> at all)


3) what about exposing policies?, like making admin being able to apply same policy
   on a different devices, rather than doing it manually per device.

> Change the Virtual Machine > Network Interfaces to support QoS properties Example of an XML representation of a network interface
>
> <nic id="7a3cff5e-3cc4-47c2-8388-9adf16341f5e"  ref="/api/vms/cdc0b102-fbfe-444a-b9cb-57d2af94f401/nics/7a3cff5e-3cc4-47c2-8388-9adf16341f5e">
>      <link rel="statistics" href="/api/vms/082c794b-771f-452f-83c9-b2b5a19c0399/nics/7a3cff5e-3cc4-47c2-8388-9adf16341f5e/statistics"/>
>      <name>nic1</name>
>      <interface>virtio</interface>
>      <mac address="00:1a:4a:16:84:07"/>
>      <network id="00000000-0000-0000-0000-000000000009" href="/api/networks/00000000-0000-0000-0000-000000000009"/>
>      <vm id="cdc0b102-fbfe-444a-b9cb-57d2af94f401" href="/api/vms/cdc0b102-fbfe-444a-b9cb-57d2af94f401"/>

- 'bandwidth' is not clear enough in my view, i think we should just use 'qos'

>      <bandwidth>

- we should be having <enabled>true|false</enabled> element here/peer traffic-dist?

>        <inbound average='1000' peak='5000' floor='200' burst='1024'/>
>        <outbound average='128' peak='256' burst='256'/>
>      </bandwidth>
> </nic>
>
>
> An API user modifies a network interface with a PUT request
>
> <nic>
>       <name>nic2</name>
>      <network id="00000000-0000-0000-0000-000000000010"/>
>      <type>e1000</type>
>      <bandwidth>
>        <inbound average='1000' peak='5000' floor='200' burst='1024'/>
>        <outbound average='128' peak='256' burst='256'/>
>      </bandwidth>
> </nic>


-- 

Michael Pasternak
RedHat, ENG-Virtualization R&D



More information about the Arch mailing list