Charm Interface - BIND RNDC
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenDev Sysadmins 4b9ef12b97 OpenDev Migration Patch 1 month ago
.gitignore Add support for verification process 2 years ago
.gitreview OpenDev Migration Patch 1 month ago
.zuul.yaml import zuul job settings from project-config 7 months ago
LICENSE Add support for verification process 2 years ago
README.md Add support for verification process 2 years ago
__init__.py initial version 3 years ago
copyright Add support for verification process 2 years ago
interface.yaml Change openstack-dev to openstack-discuss 6 months ago
provides.py Implement "dns-backend" binding 1 year ago
requires.py Implement "dns-backend" binding 1 year ago
test-requirements.txt Add support for verification process 2 years ago
tox.ini fix tox python3 overrides 7 months ago

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.