Restart services and coordinate data migration on Heat config changes.
Go to file
Takashi Kajinami 4b510162e5 Vendor dib-run-parts
The dib-utils repository was retired as part of retirement of TripleO.
This imports the tiny dib-run-parts script because it's used by
os-refresh-config now.

This also removes direct execution of os_refresh_config.py, which is
required only for testing.

Change-Id: Ia516e604bafdc59dbcfa81796348191b03cbe0b7
2024-02-29 17:49:13 +09:00
os_refresh_config Vendor dib-run-parts 2024-02-29 17:49:13 +09:00
releasenotes/notes Stop testing python2.7 2020-03-13 14:47:47 -05:00
tests Initial commit 2013-02-06 16:59:40 -08:00
tools Vendor dib-run-parts 2024-02-29 17:49:13 +09:00
zuul.d Vendor dib-run-parts 2024-02-29 17:49:13 +09:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:41:56 +00:00
.gitignore Ignore .eggs directory 2023-12-19 21:05:28 +09:00
.gitreview OpenDev Migration Patch 2019-04-19 19:36:18 +00:00
.stestr.conf Vendor dib-run-parts 2024-02-29 17:49:13 +09:00
LICENSE Adding setup.py to make for an easier installation 2013-02-12 07:04:28 -08:00
README.rst Update links in README 2018-03-02 18:05:11 +08:00
requirements.txt Vendor dib-run-parts 2024-02-29 17:49:13 +09:00
setup.cfg Vendor dib-run-parts 2024-02-29 17:49:13 +09:00
setup.py Cleanup py27 support 2020-04-05 10:16:09 +02:00
test-requirements.txt Bump hacking 2024-01-17 01:43:00 +09:00
tox.ini Vendor dib-run-parts 2024-02-29 17:49:13 +09:00

Team and repository tags

image

os-refresh-config

os-refresh-config uses dib-run-parts to run scripts in a pre-defined set of directories:

/opt/stack/os-config-refresh/pre-configure.d
/opt/stack/os-config-refresh/configure.d
/opt/stack/os-config-refresh/post-configure.d
/opt/stack/os-config-refresh/migration.d
/opt/stack/os-config-refresh/error.d

/opt/stack/os-config-refresh is the default base directory. You can set OS_REFRESH_CONFIG_BASE_DIR environment variable to override the default one.

Its intended purpose is to separate scripts execution into 4 phases:

  1. Quiesce(pre-configure.d),
  2. Configure(configure.d),
  3. Activate(post-configure.d).
  4. Migrate(migration.d),

It runs through all the phases above to ensure configuration is applied and enabled on a machine. It will run the scripts in error.d and then exit with a non-zero exit status if any phase has a problem. The scripts in each phase should not depend on each other having worked properly.

Note: Earlier versions of os-refresh-config ran migration before post-configure. This was an oversight in the initial design, as migrations are intended to be online migrations after the host is fully configured.

For things which must happen while the service is quiesced, that should be done in the post-configure scripts which control the service state.