在 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 提供支持。

提议的变更

  1. 在 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’

备选方案

实现

负责人

主要负责人

huangtianhua@huawei.com

里程碑

完成目标里程碑

mitaka-2

工作项

  • 添加相关资源

  • 为端口和网络资源添加属性

  • 添加相关测试

  • 在 heat-templates 项目中添加示例模板

依赖项