在 heat 中支持 neutron 子网池¶
https://blueprints.launchpad.net/heat/+spec/subnet-pools
添加 Neutron 子网池资源插件。
问题描述¶
Neutron 现在支持 subnetpools API 扩展。 这有助于管理子网池的生命周期,并在子网创建/更新期间使用它,如下所示。
neutron subnetpool-create –default-prefixlen 24 –pool-prefix \
10.10.0.0/16 webpool
neutron subnet-create –subnetpool webpool websubnet
提议的变更¶
在 resources/openstack/neutron/ 下添加以下资源:
OS::Neutron::SubnetPool
- name
要创建的子网池的名称。 - 可选 - 类型:String - update_allowed
- prefixes
要分配给子网池的子网前缀列表。 - 必需 - 类型:List - update_allowed - 约束:非空的 CIDR 列表
- address_scope
要分配给子网池的地址范围。 - 可选 - 类型:String - update_allowed - 约束:‘neutron.address_scope’ 自定义约束
- default_quota
可以从子网池为租户子网分配的租户级前缀空间配额。 - 可选 - 类型:Integer - update_allowed - 约束:大于或等于 0
- default_prefixlen
在未指定子网的 cidr 或 prefixlen 属性时要分配的前缀大小。 如果未指定,则默认为 min_prefixlen。 - 可选 - 类型:Integer - update_allowed - 约束:大于或等于 0
- min_prefixlen
可以从子网池分配的最小前缀。 - 可选 - 类型:Integer - update_allowed - 约束:大于或等于 0
- max_prefixlen
可以从子网池分配的最大前缀。 - 可选 - 类型:Integer - update_allowed - 约束:大于或等于 0
- is_default
这是否为默认 IPv4/IPv6 子网池。 每个 IP 族只能有一个默认子网池。 - 可选 - 类型:Boolean - update_allowed
- tenant_id
拥有子网池的租户的 ID。 只有管理员才能指定与其自身不同的租户 ID。 - 可选 - 类型:String
- 共享
是否在所有租户之间共享,默认为 False。 - 可选 - 类型:Boolean
为 OS::Neutron::Subnet 资源添加 ‘subnetpool’ 和 ‘prefixlen’ 属性。 此外,将自定义约束 ‘neutron.subnetpool’ 应用于 ‘subnetpool’ 属性。
备选方案¶
无
实现¶
负责人¶
- 主要负责人
里程碑¶
- 完成目标里程碑
mitaka-2
工作项¶
添加 SubnetPool 资源
添加 Subnet 资源的属性
添加所需的自定义约束 (neutron.address_scope, neutron.subnetpool)
添加相关测试
在 heat-templates 中添加使用 SubnetPool 的示例模板
依赖项¶
无