Make DnfStreams support RoleParameters

This is useful in case the list of modules to enable is different for
the various roles; for example CephStorage vs Compute

Change-Id: Ib58b6152bc98002c048a4ae483454813c8298df9
Closes-Bug: #1915067
This commit is contained in:
Giulio Fidente 2021-02-08 21:20:35 +01:00
parent ee76c8f71e
commit 69357c3a64
1 changed files with 15 additions and 2 deletions

View File

@ -105,6 +105,19 @@ parameters:
is not specified 'common' will be used instead.
type: json
resources:
RoleParametersValue:
type: OS::Heat::Value
properties:
type: json
value:
map_replace:
- map_replace:
- dnf_module_list: DnfStreams
- values: {get_param: [RoleParameters]}
- values:
DnfStreams: {get_param: DnfStreams}
outputs:
role_data:
description: Role data for the TripleO package settings
@ -242,7 +255,7 @@ outputs:
- {get_param: UpgradeInitCommonCommand}
- name: Ensure DNF modules have the right stream
vars:
dnf_module_list: {get_param: DnfStreams}
dnf_module_list: {get_attr: [RoleParametersValue, value, 'dnf_module_list']}
dnf:
name: "@{{ item.module }}:{{ item.stream }}/{{ item.profile|default('common') }}"
state: present
@ -344,7 +357,7 @@ outputs:
- not (skip_rhel_enforcement | bool)
- name: Ensure DNF modules have the right stream
vars:
dnf_module_list: {get_param: DnfStreams}
dnf_module_list: {get_attr: [RoleParametersValue, value, 'dnf_module_list']}
dnf:
name: "@{{ item.module }}:{{ item.stream }}/{{ item.profile|default('common') }}"
state: present