Description of problem: In RHOSP13/16, if the ExtraConfig parameter (or its role specific version) is defined in multiple environment files, then it is deep-merged during template parsing. This behavior was useful to split hieradata override to multiple environment files, for example created per compoent or feature. However this behavior has been changed since we switched to server-side merging and now the parameter is not merged but is replaced. This results in only the definition written in the last environment file used and can break existing usage. For example this is affecting usage in our internal CI (bz 2101409 ). Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Create two environment files to define different puppet parameters by ExtraConfig 2. Deploy overcloud with these two environment files Actual results: Hieradata override written in the first environment file is ignored Expected results: Hieradata override written in the first environment file is honored Additional info:
All is merged, and I think we should see the patches downstream with the last import.
Created two environment file with these configs: parameter_defaults: ComputeExtraConfig: nova::compute::reserved_host_memory: '4500' parameter_defaults: ComputeExtraConfig: nova::compute::reserved_huge_pages: 'node:0,size:2GB,count:8' Then checked contents of/var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf on compute-0 and found these lines present: reserved_host_memory_mb=4500 reserved_huge_pages=node:0,size:2GB,count:8
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Release of components for Red Hat OpenStack Platform 17.0 (Wallaby)), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2022:6543