Charm Interface - Service Control
Go to file
Pratik Raj 812b3cdeaa
optimize size and time using --no-cache-dir
Using --no-cache-dir flag in pip install ,make sure dowloaded packages
by pip don't cached on system . This is a best practise which make sure
to fetch ftom repo instead of using local cached one . Further , in case
of Docker Containers , by restricing caching , we can reduce image size.
In term of stats , it depends upon the number of python packages
multiplied by their respective size . e.g for heavy packages with a lot
of dependencies it reduce a lot by don't caching pip packages.

Further , more detail information can be found at

https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6

Change-Id: I3ae18ddf545ce36c64f11b04e7e6ccc8642982e5
Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
2020-06-18 16:22:56 +05:30
unit_tests Fixup repo config 2019-01-09 07:53:26 +01:00
.gitignore Fixup repo config 2019-01-09 07:53:26 +01: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
README.md More RWADME updates 2016-08-31 11:05:30 +00:00
__init__.py Initial commit 2016-08-31 07:25:48 +00: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
requires.py Switch to service-control 2016-08-31 10:42:05 +00:00
test-requirements.txt Fixup repo config 2019-01-09 07:53:26 +01:00
tox.ini optimize size and time using --no-cache-dir 2020-06-18 16:22:56 +05:30

README.md

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.