Bug 2102466 - ExtraConfig parameters should be merged instead of being replaced
Summary: ExtraConfig parameters should be merged instead of being replaced
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 17.0 (Wallaby)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: beta
: 17.0
Assignee: Rabi Mishra
QA Contact: Joe H. Rahme
URL:
Whiteboard:
Depends On:
Blocks: 2101409
TreeView+ depends on / blocked
 
Reported: 2022-06-30 02:39 UTC by Takashi Kajinami
Modified: 2022-09-21 12:23 UTC (History)
4 users (show)

Fixed In Version: openstack-tripleo-heat-templates-14.3.1-0.20220706080800.feca772.el9ost openstack-heat-16.0.1-0.20220705231623.c2bc23b.el9ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-09-21 12:23:13 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 848214 0 None NEW Add merge strategy for ExtraConfig 2022-06-30 05:05:14 UTC
OpenStack gerrit 848375 0 None NEW Fix parameter merging with merge strategies 2022-07-01 05:23:55 UTC
OpenStack gerrit 848376 0 None NEW Provide default values for ExtraConfig parameters 2022-07-01 05:23:55 UTC
Red Hat Bugzilla 2101409 0 urgent CLOSED resource_provider_hypervisors not included in the sriov agent configuration 2022-09-21 13:00:41 UTC
Red Hat Issue Tracker OSP-16162 0 None None None 2022-06-30 02:46:36 UTC
Red Hat Product Errata RHEA-2022:6543 0 None None None 2022-09-21 12:23:29 UTC

Description Takashi Kajinami 2022-06-30 02:39:39 UTC
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:

Comment 3 Cédric Jeanneret 2022-07-05 15:35:26 UTC
All is merged, and I think we should see the patches downstream with the last import.

Comment 7 David Rosenfeld 2022-07-25 17:06:09 UTC
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

Comment 12 errata-xmlrpc 2022-09-21 12:23:13 UTC
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


Note You need to log in before you can comment on or make changes to this bug.