b324bcece1
Now that we no longer support py27, we can use the standard library unittest.mock module instead of the third party mock lib. Change-Id: I7a6bea2e6e6fffcc262dd4241a7d6b75913d87aa Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com> |
||
---|---|---|
os_refresh_config | ||
releasenotes/notes | ||
tests | ||
zuul.d | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
LICENSE | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Team and repository tags
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:
- Quiesce(pre-configure.d),
- Configure(configure.d),
- Activate(post-configure.d).
- 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.