Bug 1958418
| Summary: | [OSP 16.1]Overcloud deployment - Issues with role specific tuned profiles | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Matt Flusche <mflusche> |
| Component: | openstack-tripleo-heat-templates | Assignee: | OSP Team <rhos-maint> |
| Status: | CLOSED ERRATA | QA Contact: | Joe H. Rahme <jhakimra> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 16.1 (Train) | CC: | aschultz, cfields, drosenfe, jpateteg, mburns, nsatsia, ramishra |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | openstack-tripleo-heat-templates-11.3.2-1.20210517153303.29a02c1.el8ost | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-12-09 20:19:09 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: | |||
*** Bug 1958356 has been marked as a duplicate of this bug. *** From the closed duplicate bug https://bugzilla.redhat.com/show_bug.cgi?id=1958356: A work around is to remove OS::TripleO::Services::Tuned from roles_data.yaml for the role that you want to use the role specific TunedProfileName parameter. Deployed job: DFG-df-deployment-16.1-virthost-3cont_1comp_3ceph_3db_2net_3msg-yes_UC_SSL-no_OC_SSL-ceph-ipv4-geneve-RHELOSP-31889 which uses composable roles.
Verified this was present in roles_data.yaml:
- name: Compute
description: |
Basic Compute Node role
[...]
RoleParametersDefault:
TunedProfileName: "virtual-host"
Then on compute node:
[heat-admin@compute-0 ~]$ tuned-adm active
Current active profile: virtual-host
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 (Red Hat OpenStack Platform 16.1.7 (Train) bug fix and enhancement 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://access.redhat.com/errata/RHBA-2021:3762 |
Description of problem: Having issues applying role specific tuned profiles. Example, in the default roles_data.yaml file for the compute role the following is set: [...] ############################################################################### # Role: Compute # ############################################################################### - name: Compute description: | Basic Compute Node role [...] RoleParametersDefault: TunedProfileName: "virtual-host" One would expect after deployment the tuned profile would be set to virtual-host; however, it is throughput-performance: [root@overcloud-novacompute-0 ~]# tuned-adm active Current active profile: throughput-performance Looking at the logs, we see ansible applying tuned profiles multiple times, first the virtual-host profile then a few min later the throughput-performance profile: [root@overcloud-novacompute-0 ~]# grep tuned-adm /var/log/messages May 6 16:39:16 overcloud-novacompute-0 ansible-command[45303]: Invoked with _raw_params=which tuned-adm warn=True _uses_shell=False stdin_add_newline=True strip_empty_ends=True argv=None chdir=None executable=None creates=None removes=None stdin=None May 6 16:39:18 overcloud-novacompute-0 ansible-command[45355]: Invoked with _raw_params=tuned-adm profile virtual-host warn=True _uses_shell=False stdin_add_newline=True strip_empty_ends=True argv=None chdir=None executable=None creates=None removes=None stdin=None May 6 16:45:10 overcloud-novacompute-0 ansible-command[50443]: Invoked with _raw_params=which tuned-adm warn=True _uses_shell=False stdin_add_newline=True strip_empty_ends=True argv=None chdir=None executable=None creates=None removes=None stdin=None May 6 16:45:12 overcloud-novacompute-0 ansible-command[50495]: Invoked with _raw_params=tuned-adm profile throughput-performance warn=True _uses_shell=False stdin_add_newline=True strip_empty_ends=True argv=None chdir=None executable=None creates=None removes=None stdin=None It seems that the tuned profile is being applied through two services: OS::TripleO::Services::BootParams & OS::TripleO::Services::Tuned # grep -R tuned_profile /usr/share/openstack-tripleo-heat-templates /usr/share/openstack-tripleo-heat-templates/deployment/kernel/kernel-boot-params-baremetal-ansible.yaml: - tuned_profile: TunedProfileName /usr/share/openstack-tripleo-heat-templates/deployment/kernel/kernel-boot-params-baremetal-ansible.yaml: tuned_profile: {get_attr: [RoleParametersValue, value, tuned_profile]} /usr/share/openstack-tripleo-heat-templates/deployment/tuned/tuned-baremetal-ansible.yaml: tuned_profile: {get_param: TunedProfileName} # grep 'deployment/kernel/kernel-boot-params-baremetal-ansible.yaml' /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.j2.yaml OS::TripleO::Services::BootParams: deployment/kernel/kernel-boot-params-baremetal-ansible.yaml # grep 'deployment/tuned/tuned-baremetal-ansible.yaml' /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.j2.yaml OS::TripleO::Services::Tuned: deployment/tuned/tuned-baremetal-ansible.yaml However, it looks like tuned-baremetal-ansible.yaml doesn't support role specific config. This doesn't work: ComputeParameters: TunedProfileName: "virtual-host" But this does work: ComputeExtraGroupVars: tuned_profile: "virtual-host" Overall it seems that applying tuned profiles is confusing. Version-Release number of selected component (if applicable): 16.1 current How reproducible: 100% I believe Steps to Reproduce: 1. see above 2. 3. Actual results: Can't apply role specific tuned profile without using ComputeExtraGroupVars or changing the global default. Expected results: Role specific tuned profiles with {{role.name}}Parameters Additional info: