XenServerNetworkQoS
- 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:
- 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
- As a service provider, I want to limit the amount of bandwidth provided per instance.
- As operations, I want to protect instances from Denial of Service attacks.
Assumptions
NovaSpec:multinic and NovaSpec:flavors are in place.
Design
You can have subsections that better describe specific parts of the issue.
Implementation
Code Changes
Modifications to NovaSpec:multinic 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.