Bug 1290050 - ExtraConfig works only on controller nodes and not on compute, Ceph, etc...
ExtraConfig works only on controller nodes and not on compute, Ceph, etc...
Status: CLOSED ERRATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates (Show other bugs)
8.0 (Liberty)
x86_64 Linux
urgent Severity high
: y3
: 7.0 (Kilo)
Assigned To: Steven Hardy
Marius Cornea
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-12-09 10:05 EST by Gaëtan Trellu
Modified: 2016-02-18 11:47 EST (History)
15 users (show)

See Also:
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 11:47:40 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Rackspace templates (294.63 KB, application/x-gzip)
2016-01-20 09:20 EST, Gaëtan Trellu
no flags Details

  None (edit)
Description Gaëtan Trellu 2015-12-09 10:05:13 EST
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).
Comment 2 Gaëtan Trellu 2015-12-09 10:23:19 EST
CephStorageExtraConfig is missing from templates/puppet/compute-puppet.yaml and templates/overcloud-without-mergepy.yaml files.
Comment 3 Gaëtan Trellu 2015-12-09 10:31:29 EST
Sorry, not in templates/puppet/compute-puppet.yaml but in templates/puppet/ceph-storage-puppet.yaml
Comment 4 Emilien Macchi 2016-01-14 16:22:32 EST
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!
Comment 5 Gaëtan Trellu 2016-01-20 09:20:24 EST
Sure, please find them in attachment.

Thanks !
Comment 6 Gaëtan Trellu 2016-01-20 09:20 EST
Created attachment 1116661 [details]
Rackspace templates
Comment 8 Jaromir Coufal 2016-02-03 07:25:32 EST
Requesting blocker, but if we got no more info we won't hold on this.
Comment 9 Gaëtan Trellu 2016-02-03 09:03:21 EST
Version: openstack-tripleo-heat-templates-0.8.6-71.el7ost.noarch
Comment 10 Steven Hardy 2016-02-03 09:31:07 EST
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?
Comment 11 Steven Hardy 2016-02-03 10:01:01 EST
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.
Comment 13 Steven Hardy 2016-02-04 01:30:36 EST
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.
Comment 16 Marius Cornea 2016-02-16 08:24:49 EST
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
Comment 18 errata-xmlrpc 2016-02-18 11:47:40 EST
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

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