Jump to: navigation, search

Difference between revisions of "XenServerNetworkQoS"

 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{ImplementedFeature}}
* '''Launchpad Entry''': [[NovaSpec]]:xs-network-qos
+
* '''Launchpad Entry''': NovaSpec:xs-network-qos
 
* '''Created''':
 
* '''Created''':
 
* '''Contributors''':  
 
* '''Contributors''':  
Line 9: Line 9:
 
== Release Note ==
 
== Release Note ==
  
This provides the ability to se
+
Allows for a configurable rate limit setting in [[XenServer]] based on the Flavor configured.
 +
 
 
== Rationale ==
 
== Rationale ==
 +
 +
Service providers need to be able to set capacity limits on how much bandwidth is pushed from an instance.  This is needed to:
 +
# Prevent abuse of bandwidth in the case of denial of service attacks
 +
# Allow for a consistent experience to the customer based on the flavor provisioned.
 +
# Assist in determining how much bandwidth needs to be allocated to a cabinet or zone.
  
 
== User stories ==
 
== User stories ==
Line 19: Line 25:
 
== Assumptions ==
 
== Assumptions ==
  
Multi NIC and flavors are in place.   
+
NovaSpec:multi-nic and NovaSpec:flavors are in place.   
  
== Design ==
+
== Implementation ==
  
You can have subsections that better describe specific parts of the issue.
+
Code to apply vif-param settings on VM creation.
  
== Implementation ==
+
=== Code Changes ===
 +
 
 +
Modifications to NovaSpec:multi-nic code that sets qos_algorithm_type and qos_algorithm_params based on flavor as part of the VIF call in the xenapi when creating the virtual interfaces for the virtual machine.  Values required are in kilobytes per second.
  
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
 
  
=== Code Changes ===
+
<pre><nowiki>
 +
VIF.set_qos_algorithm_type = "ratelimit"
 +
VIF.set_qos_algorithm_params = "kbps"= x
  
Code changes should include an overview of what needs to change, and in some cases even the specific details.
+
x = bandwidth cap in kbps
 +
</nowiki></pre>
  
 
== Test/Demo Plan ==
 
== Test/Demo Plan ==

Latest revision as of 03:02, 15 December 2013

Warning.svg Old Design Page

This page was used to help design a feature that has been implemented. As a result, this page is unlikely to be updated and could contain outdated information. It was last updated on 2013-12-15

  • Launchpad Entry: NovaSpec:xs-network-qos
  • Created:
  • Contributors:

Summary

Adds the ability to set networking bandwidth capacity limits for each instance. Capacity limits are set based on the bandwidth settings set in flavors.

Release Note

Allows for a configurable rate limit setting in XenServer based on the Flavor configured.

Rationale

Service providers need to be able to set capacity limits on how much bandwidth is pushed from an instance. This is needed to:

  1. Prevent abuse of bandwidth in the case of denial of service attacks
  2. Allow for a consistent experience to the customer based on the flavor provisioned.
  3. Assist in determining how much bandwidth needs to be allocated to a cabinet or zone.

User stories

  1. As a service provider, I want to limit the amount of bandwidth provided per instance.
  2. As operations, I want to protect instances from Denial of Service attacks.

Assumptions

NovaSpec:multi-nic and NovaSpec:flavors are in place.

Implementation

Code to apply vif-param settings on VM creation.

Code Changes

Modifications to NovaSpec:multi-nic code that sets qos_algorithm_type and qos_algorithm_params based on flavor as part of the VIF call in the xenapi when creating the virtual interfaces for the virtual machine. Values required are in kilobytes per second.


VIF.set_qos_algorithm_type = "ratelimit"
VIF.set_qos_algorithm_params = "kbps"= x

x = bandwidth cap in kbps

Test/Demo Plan

This need not be added or completed until the specification is nearing beta.