指定资源¶
https://blueprints.launchpad.net/heat/+spec/heat-designate-resource
此蓝图为 OpenStack DNS as a service (designate) 添加 heat 资源插件。
问题描述¶
OpenStack 提供 DNS as a service (designate),更多详情请参见 wiki https://wiki.openstack.org/wiki/Designate
在 heat 中,没有可用于 designate 服务的资源插件。此蓝图旨在为 designate 服务提供所需的插件。
提议的变更¶
Designate 服务提供 v1 和 v2 API[1],其 python 客户端[2]仅支持 v1。因此,此蓝图添加了 v1 支持,并提供了以下资源:
OS::Designate::Domain
属性
- name
required: True
type: String
update_allowed: False
描述:域名
- ttl
required: False
type: int
update_allowed: True
描述:生存时间 (秒)
- description
required: False
type: String
update_allowed: True
描述:域的描述
required: True
type: String
update_allowed: True
描述:域电子邮件
属性
- serial
描述:DNS 域序列号
OS::Designate::Server
属性
- name
required: True
type: String
update_allowed: True
描述:DNS 服务器名称
OS::Designate::Record
属性
- domain
required: True
type: String
update_allowed: False
描述:DNS 域 ID 或名称
约束:CustomConstrain(‘designate.domain’)
- name
required: True
type: String
update_allowed: False
描述:DNS 名称
- type
required: True
type: String
update_allowed: True
描述:DNS 记录类型
约束:[A, AAAA, CNAME, MX, SRV, TXT, SPF, NS, PTR, SSHFP, SOA]
- 数据
required: True
type: String
update_allowed: True
描述:DNS 记录数据 (IP 地址)
- ttl
required: False
type: int
update_allowed: True
描述:DNS 记录生存时间 (秒)
- description
required: False
type: String
update_allowed: True
描述:DNS 记录的描述
- priority
required: False
type: int
update_allowed: True
描述:DNS 记录优先级
备选方案¶
无
实现¶
负责人¶
- 主要负责人
Kanagaraj Manickam (kanagaraj-manickam) Anant Patil (ananta)
里程碑¶
- 完成目标里程碑
Liberty-1
工作项¶
实现建议的资源插件
实现 ‘designate.domain’ 的自定义约束
添加所需的测试用例
依赖项¶
[1] http://designate.readthedocs.org/en/latest/rest.html [2] https://github.com/openstack/python-designateclient