086a3a7b25
This patchset implements "dns-backend" binding which is required to properly handle DNS zone transfers between designate and desigante-bind applications. If "dns-backend" binding is provided when deploying designate and designate-bind applications, DNZ zone transfers will now take place over the subnet which belongs to the provided space. Change-Id: I927e3958cf929ace9d43f8b3d9509b90b9eab60f Partial-Bug: #1722794 |
||
---|---|---|
.gitignore | ||
.gitreview | ||
LICENSE | ||
README.md | ||
__init__.py | ||
copyright | ||
interface.yaml | ||
provides.py | ||
requires.py | ||
test-requirements.txt | ||
tox.ini |
README.md
Overview
This interface supports integration with BIND using RNDC keys.
Usage
No explicit handler is required to consume this interface in charms that consume this interface.
metadata
To consume this interface in your charm or layer, add the following to layer.yaml
:
includes: ['interface:bind-rndc']
and add a requires interface of type bind-rndc
to your charm or layers
metadata.yaml
:
requires:
dns-backend:
interface: bind-rndc
state: {relation_name}.connected
This state is set when a relation of type bind-rndc is detected, but the data may not have yet been presented by the providing charm.
state: {relation_name}.available
This state is set when the providing application unit has set all required data items on the interface.
The interface provides implicit bindings for:
algorithm
- RNDC algorithm to use.rndckey
- key to use to secure RNDC commands.private_address
- address of providing application unit.
handler
@when('dns-backend.available')
def sync_zones(bind_interface):
sync_all_zones(bind_interface.private_address,
bind_interface.algorithm,
bind_interface.rndckey)
In this case, sync_all_zones
is a function provided by the consuming
charm.
Bugs
Please report bugs on Launchpad.
For development questions please refer to the OpenStack Charm Guide.