Skip to content

Commit

Permalink
Merge pull request #1942 from VallariAg/fix-install-task
Browse files Browse the repository at this point in the history
task/install: Fix AssertionError
  • Loading branch information
VallariAg authored May 28, 2024
2 parents e7ae758 + 89d7af0 commit b853422
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions teuthology/task/install/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from teuthology import contextutil, packaging
from teuthology.parallel import parallel
from teuthology.task import ansible
from teuthology.exceptions import ConfigError

from distutils.version import LooseVersion
from teuthology.task.install.util import (
Expand Down Expand Up @@ -565,16 +566,24 @@ def task(ctx, config):
log.debug('project %s' % project)
overrides = ctx.config.get('overrides')
repos = None
extra_system_packages = config.get('extra_system_packages', [])

if overrides:
install_overrides = overrides.get('install', {})
log.debug('INSTALL overrides: %s' % install_overrides)
teuthology.deep_merge(config, install_overrides.get(project, {}))
overrides_extra_system_packages = install_overrides.get('extra_system_packages')
if overrides_extra_system_packages:
teuthology.deep_merge(extra_system_packages, overrides_extra_system_packages)
repos = install_overrides.get('repos', None)
try:
install_overrides = overrides.get('install', {})
log.debug('INSTALL overrides: %s' % install_overrides)
teuthology.deep_merge(config, install_overrides.get(project, {}))
overrides_extra_system_packages = install_overrides.get('extra_system_packages')
if overrides_extra_system_packages:
extra_system_packages = config.get('extra_system_packages')
config['extra_system_packages'] = teuthology.deep_merge(extra_system_packages, overrides_extra_system_packages)
repos = install_overrides.get('repos', None)
except AssertionError:
raise ConfigError(
"'install' task config and its overrides contain" \
"conflicting types for the same config key. Ensure that " \
"the configuration is of the same type (dict, list, etc.) " \
"in both the task definition and its overrides."
)

log.debug('config %s' % config)

Expand Down Expand Up @@ -609,7 +618,7 @@ def task(ctx, config):
downgrade_packages=config.get('downgrade_packages', []),
exclude_packages=config.get('exclude_packages', []),
extra_packages=config.get('extra_packages', []),
extra_system_packages=extra_system_packages,
extra_system_packages=config.get('extra_system_packages', []),
extras=config.get('extras', None),
enable_coprs=config.get('enable_coprs', []),
flavor=flavor,
Expand Down

0 comments on commit b853422

Please sign in to comment.