在 heat 中支持 neutron QoS¶
https://blueprints.launchpad.net/heat/+spec/support-neutron-qos
提供对 neutron QoS 功能的支持。
问题描述¶
https://blueprints.launchpad.net/neutron/+spec/quantum-qos-api
在上述蓝图之后,neutron 支持 QoS 的 API 扩展,现在提供支持将 QoS 策略附加/分离到端口和网络资源(通过创建和更新)。有两种数据模型:QoSPolicy 和 QoSRule,它们之间存在关系:QoSRule(s)->QoSPolicy -> Port/Network。目前,neutron 已经实现了一种规则类型,QoSBandwidthLimitRule,它为实例的出站流量提供带宽限制。
云管理员可能希望基于可用的网络资源,通过 heat 提供不同的服务级别,因此本蓝图将基于上述 neutron QoS 资源,为 heat 中的 neutron 资源 QoS 提供支持。
提议的变更¶
在 resources/openstack/neutron/ 下添加以下资源:
OS::Neutron::QoSPolicy
属性
- name
type: String
required: True
description: QoS 策略的名称
update_allowed: True
- description
type: String
required: False
description: QoS 策略的描述
update_allowed: True
- 共享
type: Boolean
required: False
description: 此 QoS 策略是否可以共享给其他租户
update_allowed: True
default: False
- tenant_id
type: String
required: False
description: 此 QoS 策略的拥有者租户 ID
update_allowed: False
属性
- rules
type: List
description: QoS 策略的所有规则列表
OS::Neutron::QoSBandwidthLimitRule
属性
- 策略
type: String
required: True
description: QoS 策略的 ID 或名称
update_allowed: False
constraints: 自定义约束 ‘neutron.qos_policy’
- max-kbps
type: Integer
required: True
description: kbps 中的最大带宽
update_allowed: True
constraints: Range(min=0)
- max-burst-kbps
type: Integer
required: False
description: kbps 中的最大突发带宽
update_allowed: True
default: 0
constraints: Range(min=0)
2. 为 OS::Neutron::Port 和 OS::Neutron::Network 资源添加 ‘qos_policy’ 属性
- qos_policy
type: String
required: False
description: 要附加的 QoS 策略的名称或 ID
update_allowed: True
constraints: 自定义约束 ‘neutron.qos_policy’
备选方案¶
无
实现¶
负责人¶
里程碑¶
- 完成目标里程碑
mitaka-2
工作项¶
添加相关资源
为端口和网络资源添加属性
添加相关测试
在 heat-templates 项目中添加示例模板
依赖项¶
无