Charm Interface - Keystone Domain backend
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 eb36ddabac OpenDev Migration Patch 1 month ago
.gitignore Initial cut of interface 2 years ago
.gitreview OpenDev Migration Patch 1 month ago
.zuul.yaml import zuul job settings from project-config 7 months ago
LICENSE Add LICENSE file 2 years ago
README.md Fix some errors for ill-syntax in README.md 4 months ago
interface.yaml Initial cut of interface 2 years ago
provides.py Initial cut of interface 2 years ago
test-requirements.txt Initial cut of interface 2 years ago
tox.ini fix tox python3 overrides 7 months ago

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.