Designate resources

https://blueprints.launchpad.net/heat/+spec/heat-designate-resource

This blueprint adds heat resource plug-ins for OpenStack DNS as a service (designate).

Problem description

OpenStack provides DNS as a service (designate) and more details are available at wiki https://wiki.openstack.org/wiki/Designate

In heat, resource plug-ins are not available for designate service. And this blueprint is created to provide required plug-ins for designate service.

Proposed change

Designate service provides v1 and v2 APIs[1] and it’s python client[2] provides support only for v1. So in this blueprint, v1 support is added with following resources.

  • OS::Designate::Domain

Properties:

  • name:
    • required: True
    • type: String
    • update_allowed: False
    • description: Domain name
  • ttl:
    • required: False
    • type: int
    • update_allowed: True
    • description: Time To Live (Seconds)
  • description:
    • required: False
    • type: String
    • update_allowed: True
    • description: Description of domain
  • email:
    • required: True
    • type: String
    • update_allowed: True
    • description: Domain email

Attributes:

  • serial:
    • description: DNS domain serial
  • OS::Designate::Server

Properties:

  • name:
    • required: True
    • type: String
    • update_allowed: True
    • description: DNS Server Name
  • OS:Designate::Record

Properties:

  • domain:
    • required: True
    • type: String
    • update_allowed: False
    • description: DNS Domain id or name
    • constraints: CustomConstrain(‘designate.domain’)
  • name:
    • required: True
    • type: String
    • update_allowed: False
    • description: DNS Name
  • type:
    • required: True
    • type: String
    • update_allowed: True
    • description: DNS record type
    • constraints:[A, AAAA, CNAME, MX, SRV, TXT, SPF, NS, PTR, SSHFP, SOA]
  • data:
    • required: True
    • type: String
    • update_allowed: True
    • description: DNS record data (Ip address)
  • ttl:
    • required: False
    • type: int
    • update_allowed: True
    • description: DNS record Time To Live (Seconds)
  • description:
    • required: False
    • type: String
    • update_allowed: True
    • description: Description of DNS record
  • priority:
    • required: False
    • type: int
    • update_allowed: True
    • description: DNS record priority

Alternatives

None

Implementation

Assignee(s)

Primary assignee:
Kanagaraj Manickam (kanagaraj-manickam) Anant Patil (ananta)

Milestones

Target Milestone for completion:
Liberty-1

Work Items

  • Implement proposed resource plug-ins
  • Implement custom constrain for ‘designate.domain’
  • Add required test cases

Table Of Contents

Previous topic

Adopt Oslo Guru Meditation Reports

Next topic

Scale-out and pid support for Manage Service listing

Project Source

This Page