Charm Interface - Service Control
Go to file
2021-12-15 09:35:05 +00:00
unit_tests Use unittest.mock instead of mock 2020-06-09 17:47:50 +02:00
__init__.py Initial commit 2016-08-31 07:25:48 +00:00
.gitignore Fully migrate unit tests from testr to stestr 2021-02-10 11:07:50 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:42:00 +00:00
.stestr.conf Fixup repo config 2019-01-09 07:53:26 +01:00
.zuul.yaml Switch to Ussuri jobs 2019-10-31 18:09:13 +08:00
copyright Switch to service-control 2016-08-31 10:42:05 +00:00
interface.yaml Change openstack-dev to openstack-discuss 2019-01-10 10:39:39 +08:00
README.md More RWADME updates 2016-08-31 11:05:30 +00:00
requires.py Switch to service-control 2016-08-31 10:42:05 +00:00
test-requirements.txt Merge "Use unittest.mock instead of mock" 2021-12-15 09:35:05 +00:00
tox.ini Fully migrate unit tests from testr to stestr 2021-02-10 11:07:50 +00:00

Overview

This interface is used for a charm to request a restart of a service managed by another charm.

Usage

The interface provides the {relation-name}.connected state.

Requesting a restart of all remote services:

@reactive.when('service-control.connected')
def configure(service_control):
    ...
    service_control.request_restart()

Requesting a restart of a specific type of remote services:

@reactive.when('service-control.connected')
def configure(service_control):
    ...
    service_control.request_restart(service_type='neutron')

Metadata

To consume this interface in your charm or layer, add the following to layer.yaml:

includes: ['interface:service-control']

and add a requires interface of type service-control to your charm or layers metadata.yaml eg:

requires:
  neutron-control:
    interface: service-control

Bugs

Please report bugs on Launchpad.

For development questions please refer to the OpenStack Charm Guide.