指定资源

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

    • 描述:域的描述

  • email
    • 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