Charm Interface - Keystone Domain backend
Go to file
Alex Kavanagh fec2ad600a Migrate unit tests from testr to stestr
Note the interface doesn't actually have tests yet.  This is just to
remove/migrate from the deprecated testr module.

Change-Id: Ide277e2b2675dc147ecb7e434c595a176e2b58ee
2021-02-10 12:01:36 +00:00
.gitignore Initial cut of interface 2017-01-27 11:10:44 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:42:09 +00:00
.stestr.conf Migrate unit tests from testr to stestr 2021-02-10 12:01:36 +00:00
.zuul.yaml import zuul job settings from project-config 2018-10-04 12:42:50 +00:00
LICENSE Add LICENSE file 2017-01-27 11:12:20 +00:00
README.md Fix some errors for ill-syntax in README.md 2019-01-07 09:05:33 +08:00
interface.yaml Initial cut of interface 2017-01-27 11:10:44 +00:00
provides.py Initial cut of interface 2017-01-27 11:10:44 +00:00
test-requirements.txt Migrate unit tests from testr to stestr 2021-02-10 12:01:36 +00:00
tox.ini Migrate unit tests from testr to stestr 2021-02-10 12:01:36 +00:00

README.md

Overview

This interface layer handles the communication with Keystone via the 'keystone-domain-backend' interface protocol.

Usage

Provides

The interface layer will set the following state:

  • {relation_name}.connected The relation is established.

For example:

from charms.reactive import when


@when('domain-backend.connected')
@when('configuration.complete')
def configure_domain(domain):
    domain.domain_name('mynewkeystonedomain')
    domain.trigger_restart()

Typically a domain backend charm should validate that it has sufficient and good configuration for the domain backend, write its configuration to /etc/keystone/domains/keystone.<domain-name>.conf and then trigger a restart of keystone using the trigger_restart method of the inteface, supplying the domain name at this point in time as well.

The keystone charm will create the domain in the keystone database, mapping to the underlying domain configuration on disk.