Skip to content

Commit

Permalink
Adds kolla config merging options
Browse files Browse the repository at this point in the history
  • Loading branch information
jovial committed Nov 13, 2023
1 parent e19f764 commit b81a2f9
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 0 deletions.
73 changes: 73 additions & 0 deletions etc/kayobe/kolla.yml
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,79 @@ kolla_enable_prometheus: true
#kolla_enable_watcher:
#kolla_enable_zun:

###############################################################################
# Kolla custom config generation.

# Feature flag to add $KAYOBE_CONFIG_PATH to the list of search paths used
# when searching for Kolla custom service configuration. Only has an effect in
# a multiple environments setup. This allows you to configure merging between
# your environment and the base layer. Defaults to true. Set to false to for
# backwards compatability.
#kolla_openstack_custom_config_environment_merging_enabled:

# Default value for kolla_openstack_custom_config_include_globs.
#kolla_openstack_custom_config_include_globs_default:

# Extra items to add to kolla_openstack_custom_config_include_globs_default
# to produce kolla_openstack_custom_config_include_globs.
#kolla_openstack_custom_config_include_globs_extra:

# List of dictionaries with the following keys:
# glob: a glob pattern. Any files matching this pattern will be copied to the
# the kolla custom config directory
# enabled: boolean to disable the glob.
# This determines the list of files to copy to the generated kolla config
# directory.
#kolla_openstack_custom_config_include_globs:

# Kolla config generation rules. These operate on the list of files produced by
# applying kolla_openstack_custom_config_include_globs. Each of the paths in
# kolla_openstack_custom_config_paths is searched for files matching one of the
# globs. If a match is found, any files with the same relative path are grouped
# together. The rules determine what to do with these matching files e.g copy
# the most specific file without templating, merge the files with
# merge_configs, etc.
# List of dictionaries with the following keys:
# glob: A glob matching files for this rule to match on (relative to the
# search path)
# priority: The rules are processed in increasing priority order with the
# first rule matching taking effect.
# strategy: How to process the matched file. One of copy, concat, template,
# merge_configs, merge_yaml
# params: List of params to pass to module enacting the strategy
# Strategies:
# copy: Copy most specific file to kolla config without templating
# template: Template most specific file to kolla config
# concat: Concatenate files and copy the result to generated kolla config
# merge_configs: Use the merge_configs module to merge an ini file, before
# copying to the generated kolla-config.
# merge_yaml: Use the merge_yaml module to merge a file, before copying to
# the generated kolla-config.
#kolla_openstack_custom_config_rules:

# Whether to enable ini merging rules in
# kolla_openstack_custom_config_rules_default. Default is true.
#kolla_openstack_custom_config_merge_configs_enabled:

# Whether to enable yaml merging rules in
# kolla_openstack_custom_config_rules_default. Default is true.
#kolla_openstack_custom_config_merge_yaml_enabled:

# Default merge strategy for ini files in
# kolla_openstack_custom_config_rules_default. Default is concat.
#kolla_openstack_custom_config_ini_merge_strategy_default:

# Default value for kolla_openstack_custom_config_rules.
#kolla_openstack_custom_config_rules_default:

# List of globs to filter from kolla_openstack_custom_config_rules_default.
# Default is an empty list.
#kolla_openstack_custom_config_rules_default_remove:

# Extra items to add to kolla_openstack_custom_config_rules_default
# to produce kolla_openstack_custom_config_rules.
#kolla_openstack_custom_config_rules_extra:

###############################################################################
# Passwords and credentials.

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
features:
- |
Adds kolla config merging options to the ``Kolla custom config generation``
section of ``etc/kayobe/kolla.yml``.
upgrade:
- |
`Kolla config merging is enabled by default in the Antelope release of Kayobe
<https://github.com/stackhpc/kayobe/pull/174>`__.
This was quite an extensive change and whilst backwards compatbility was
one of the goals, there may be some situations where refactoring of your
Kolla config will be necessary. Extra care should be taken if you are using
the multiple environments feature. It is recommended that you carefully
check the diff in the resultant Kolla configuration by following `these steps
<https://stackhpc.github.io/openstack-admin-guide/working_with_kayobe.html#verifying-changes-before-applying>`__
to check for missing config or duplicated config options. The
``kolla_openstack_custom_config_environment_merging_enabled`` option can
be set to ``False`` to revert back to the old behaviour.

0 comments on commit b81a2f9

Please sign in to comment.