diff options
| author | Zuul <zuul@review.opendev.org> | 2026-06-22 07:17:28 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2026-06-22 07:17:28 +0000 |
| commit | 8108d3b8c8c1e714f7d9e62311344346ca9f3a4c (patch) | |
| tree | a001874e8483d5ecc86f5fcb83de98e95a54afa6 /kolla | |
| parent | 2a59f5662f26d314e992da0182bb024bbad1f5d8 (diff) | |
| parent | 4e400b5b25ed0ae052ba33c91b8ed7a787b01304 (diff) | |
| download | kolla-8108d3b8c8c1e714f7d9e62311344346ca9f3a4c.tar.gz kolla-8108d3b8c8c1e714f7d9e62311344346ca9f3a4c.zip | |
Merge "repos: Merge user-provided with default repos.yaml"
Diffstat (limited to 'kolla')
| -rw-r--r-- | kolla/common/config.py | 2 | ||||
| -rw-r--r-- | kolla/template/methods.py | 19 |
2 files changed, 12 insertions, 9 deletions
diff --git a/kolla/common/config.py b/kolla/common/config.py index b418552f4..d46de4095 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -264,7 +264,7 @@ _CLI_OPTS = [ cfg.StrOpt('image-name-prefix', default='', help='Prefix prepended to image names'), cfg.StrOpt('repos-yaml', default='', - help='Path to alternative repos.yaml file'), + help='Path to repos.yaml override file'), cfg.StrOpt('engine', default='docker', choices=['docker', 'podman'], help='Container engine to build images on.'), cfg.StrOpt('podman_base_url', default='unix:///run/podman/podman.sock', diff --git a/kolla/template/methods.py b/kolla/template/methods.py index 42b7399bb..5dbf8da1b 100644 --- a/kolla/template/methods.py +++ b/kolla/template/methods.py @@ -108,15 +108,18 @@ def handle_repos(context, reponames, mode): if not isinstance(reponames, list): raise TypeError("First argument should be a list of repositories") + default_repofile = os.path.dirname( + os.path.realpath(__file__)) + '/repos.yaml' + with open(default_repofile, 'r') as repos_file: + repo_data = yaml.safe_load(repos_file) + if context.get('repos_yaml'): - repofile = context.get('repos_yaml') - else: - repofile = os.path.dirname(os.path.realpath(__file__)) + '/repos.yaml' - - with open(repofile, 'r') as repos_file: - repo_data = {} - for name, params in yaml.safe_load(repos_file).items(): - repo_data[name] = params + with open(context.get('repos_yaml'), 'r') as repos_file: + for section, repos in yaml.safe_load(repos_file).items(): + if section in repo_data: + repo_data[section].update(repos) + else: + repo_data[section] = repos base_package_type = context.get('base_package_type') base_distro = context.get('base_distro') |
