Restart services and coordinate data migration on Heat config changes.
Go to file
Ben Nemec 2d1397b468 Use FHS-compliant default base directory
/opt/stack as the default base directory is not very friendly to
non-OpenStack users, so this changes the default base directory
to reside in /usr/libexec.  The /opt/stack path will continue to
work for now so any existing users will not be broken by the change.

Also changes the directory name from os-config-refresh to
os-refresh-config to better align with the os-apply-config naming.

Change-Id: I98e93d91685ae25ae74a5470483a1cc8b97da4e5
2014-05-06 15:24:48 +00:00
os_refresh_config Use FHS-compliant default base directory 2014-05-06 15:24:48 +00:00
tests Initial commit 2013-02-06 16:59:40 -08:00
.gitignore Conform .gitignore with other OpenStack projects. 2013-08-16 08:25:33 -07:00
.gitreview Update stackforge references to openstack 2013-08-17 23:00:11 -04:00
.testr.conf Add tox.ini and fix pep8 problems 2013-06-13 09:50:52 +01:00
LICENSE Adding setup.py to make for an easier installation 2013-02-12 07:04:28 -08:00
README.rst Move migration to run after post-configure 2014-02-07 12:15:49 -08:00
requirements.txt Updated from global requirements 2014-04-07 21:15:01 +00:00
setup.cfg Support building wheels (PEP-427) 2013-11-19 10:33:09 +01:00
setup.py Updated from global requirements 2013-10-10 20:26:21 +00:00
test-requirements.txt Use FHS-compliant default base directory 2014-05-06 15:24:48 +00:00
tox.ini Remove tox locale overrides 2014-02-10 03:09:03 +00: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 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 exit with an error 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.