Restart services and coordinate data migration on Heat config changes.
Go to file
Steve Baker 1d828fa0dd Implement a --timeout for killing stalled scripts
This implements the feature required for bug #1595722 but the tripleo
bug is not closed until os-refresh-config is invoked with an
appropriate --timeout value.

Change-Id: Ibcbb2090aed126abec8dac49efa53ecbdb2b9b2c
DependsOn: If31f0d5d60e8585720c4c9c95cffa202f059f6f7
Partial-Bug: #1595722
2016-07-04 16:51:56 +12:00
os_refresh_config Implement a --timeout for killing stalled scripts 2016-07-04 16:51:56 +12:00
tests Initial commit 2013-02-06 16:59:40 -08:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:41:56 +00:00
.gitignore Coverage report was't created 2014-09-26 16:09:51 +09:00
.gitreview Update stackforge references to openstack 2013-08-17 23:00:11 -04:00
.testr.conf Coverage report was't created 2014-09-26 16:09:51 +09:00
LICENSE Adding setup.py to make for an easier installation 2013-02-12 07:04:28 -08:00
README.rst Add error handler to os-refresh-config 2014-04-11 15:31:36 -07:00
requirements.txt Implement a --timeout for killing stalled scripts 2016-07-04 16:51:56 +12:00
setup.cfg Support building wheels (PEP-427) 2013-11-19 10:33:09 +01:00
setup.py Updated from global requirements 2015-09-17 12:15:46 +00:00
test-requirements.txt Updated from global requirements 2016-06-02 21:10:12 +00:00
tox.ini Deprecated tox -downloadcache option removed 2015-12-11 23:18:44 +01:00

README.rst

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.