Bug 1290050
| Summary: | ExtraConfig works only on controller nodes and not on compute, Ceph, etc... | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Gaëtan Trellu <gtrellu> | ||||
| Component: | openstack-tripleo-heat-templates | Assignee: | Steven Hardy <shardy> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Marius Cornea <mcornea> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | 8.0 (Liberty) | CC: | clincoln, dmacpher, ggillies, gtrellu, jcoufal, jjung, johfulto, jslagle, kbasil, mburns, psanchez, racedoro, rhel-osp-director-maint, sbailleu, shardy | ||||
| Target Milestone: | y3 | ||||||
| Target Release: | 7.0 (Kilo) | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | openstack-tripleo-heat-templates-0.8.6-113.el7ost | Doc Type: | Bug Fix | ||||
| Doc Text: |
The *ExtraConfig hiera data parameters did not work for non-Controller nodes. This is due to missing parameter definitions for non-Controller node types. This fix implements these parameters into the director's Heat template collection. Now the director writes the *ExtraConfig hiera data the the appropriate node types.
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2016-02-18 16:47:40 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
CephStorageExtraConfig is missing from templates/puppet/compute-puppet.yaml and templates/overcloud-without-mergepy.yaml files. Sorry, not in templates/puppet/compute-puppet.yaml but in templates/puppet/ceph-storage-puppet.yaml I think your bug is valid from what I see in your output.
Though when I look in tripleo-heat-templates upstream, I'm seeing
mapped_data: {get_param: CephStorageExtraConfig}
mapped_data: {get_param: NovaComputeExtraConfig}
Which is something I think you're missing.
Could we have your version of tripleo-heat-templates?
I'm going to investigate if there is an upstream patch we need to backport downstream.
Thanks!
Sure, please find them in attachment. Thanks ! Created attachment 1116661 [details]
Rackspace templates
Requesting blocker, but if we got no more info we won't hold on this. Version: openstack-tripleo-heat-templates-0.8.6-71.el7ost.noarch This was originally reported via https://bugzilla.redhat.com/show_bug.cgi?id=1243971 which was closed. Then https://bugzilla.redhat.com/show_bug.cgi?id=1269223 was raised, as it seems we were missing some of the patches I referenced in the original bugs downstream. The latter bug is fixed in openstack-tripleo-heat-templates-0.8.6-78.el7ost, so given that this bug was reported against 0.8.6-71 this may be a duplicate which is now fixed? So, verifying openstack-tripleo-heat-templates-0.8.6-78.el7ost by inspection against the original list of patches I provided in bug #1243971 shows we're still missing some patches (that original bug should not have been closed without verifiction IMHO) https://review.openstack.org/#/c/196046 - OK https://review.openstack.org/#/c/196059/ - OK https://review.openstack.org/#/c/202693/ - MISSING https://review.openstack.org/#/c/202694/ - MISSING https://review.openstack.org/#/c/202695/ - MISSING https://review.openstack.org/#/c/197908/ - MISSING Also https://review.openstack.org/#/c/188772/ is missing in openstack-tripleo-puppet-elements-0.0.2-1.el7ost.noarch.rpm - we need to verify by inspection if 40-hiera-datafiles contains that fix in our images, I suspect it may not. To clarify comment #11 - NovaComputeExtraConfig will work if you upgrade to openstack-tripleo-heat-templates-0.8.6-78.el7ost, but a further update is required to enable the ExtraConfig parameters for BlockStorage, ObjectStorage and CephStorage roles. Also, we require an update to 40-hiera-datafiles, which is only needed if you need to pass complex data structures via hieradata (lists/maps or json strings), not simple key/value pairs. I used the following custom.yaml:
parameter_defaults:
NovaComputeExtraConfig:
nova::compute::reserved_host_memory: 2048
CephStorageExtraConfig:
ceph::profile::params::osd_journal_size: 2048
[root@overcloud-compute-0 ~]# grep reserved_host_memory /etc/nova/nova.conf
#reserved_host_memory_mb=512
reserved_host_memory_mb=2048
[root@overcloud-cephstorage-0 ~]# grep osd_journal_size /etc/ceph/ceph.conf
osd_journal_size = 2048
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, 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://rhn.redhat.com/errata/RHBA-2016-0264.html |
Description of problem: I followed the official documentation to customize Hiera data per profile. I tried to use the NovaComputeExtraConfig but without success, data were never passed to the compute. If we have a look in templates/puppet/compute-puppet.yaml, we can see that NovaComputeExtraConfig variable is never stored in Hiera datafile. hiera: hierarchy: - '"%{::uuid}"' - heat_config_%{::deploy_config_name} - compute - ceph_cluster # provided by CephClusterConfig - ceph - all_nodes # provided by allNodesConfig - RedHat # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1236143 - common - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre datafiles: common: raw_data: {get_file: hieradata/common.yaml} ceph: raw_data: {get_file: hieradata/ceph.yaml} compute: raw_data: {get_file: hieradata/compute.yaml} It should be: hiera: hierarchy: - '"%{::uuid}"' - heat_config_%{::deploy_config_name} - compute - compute_extraconfig - ceph_cluster # provided by CephClusterConfig - ceph - all_nodes # provided by allNodesConfig - RedHat # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1236143 - common - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre datafiles: compute_extraconfig: mapped_data: {get_param: NovaComputeExtraConfig} common: raw_data: {get_file: hieradata/common.yaml} ceph: raw_data: {get_file: hieradata/ceph.yaml} compute: raw_data: {get_file: hieradata/compute.yaml} Version-Release number of selected component (if applicable): python-rdomanager-oscplugin-0.0.10-8.el7ost.noarch CDN version How reproducible: Add extra values for NovaComputeExtraConfig in the YAML file. Actual results: Values are never send to the compute. Expected results: Values should be send to the compute. Additional info: Same issue with Ceph profile (I assume it's the same for Block and Swift profiles).