Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1384845 - [RFE] tuned and tuned NFV profile installation and configuration, on the overcloud
[RFE] tuned and tuned NFV profile installation and configuration, on the over...
Status: CLOSED ERRATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-puppet-elements (Show other bugs)
10.0 (Newton)
x86_64 Linux
high Severity medium
: Upstream M1
: 12.0 (Pike)
Assigned To: RHOS Maint
Ofer Blaut
https://blueprints.launchpad.net/trip...
upstream_milestone_pike-1 upstream_de...
: FutureFeature, InstallerIntegration, Triaged
Depends On:
Blocks: 1235009 1442136 1341176 1414580 1441923 1445709 1445858 1469555
  Show dependency treegraph
 
Reported: 2016-10-14 05:10 EDT by Franck Baudin
Modified: 2018-02-05 14:02 EST (History)
21 users (show)

See Also:
Fixed In Version: openstack-tripleo-puppet-elements-7.0.0-0.20170614005502.9285877.el7ost
Doc Type: Known Issue
Doc Text:
When an overcloud image is shipped with 'tuned' version lower than 2.7.1-4, you should apply a manual update of the 'tuned' package to the overcloud image. If the 'tuned' version is equal to 2.7.1-4 or higher, you should provide the list of the core to 'tuned' and activate the profile, for example: # echo "isolated_cores=2,4,6,8,10,12,14,18,20,22,24,26,28,30" >> /etc/tuned/cpu-partitioning-variables.conf # tuned-adm profile cpu-partitioning This is a known issue until the 'tuned' packages are available in the Centos repositories.
Story Points: ---
Clone Of:
: 1441923 (view as bug list)
Environment:
Last Closed: 2017-12-13 15:46:56 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)


External Trackers
Tracker ID Priority Status Summary Last Updated
OpenStack gerrit 418348 None None None 2017-03-16 14:01 EDT
Red Hat Product Errata RHEA-2017:3462 normal SHIPPED_LIVE Red Hat OpenStack Platform 12.0 Enhancement Advisory 2018-02-15 20:43:25 EST

  None (edit)
Description Franck Baudin 2016-10-14 05:10:24 EDT
Description of problem:

For NFV compute composable roles  we need to install and enable tuned package and NFV profile, in order to configure CPUAffinity and IRQ Repinning on the hosts. As of RHOSP10, this isbe done via first-boot scripts, but it would be appropriate if it's done via puppet manifests during deployment.
Comment 1 Yariv 2016-11-24 08:55:27 EST
https://blueprints.launchpad.net/tripleo/+spec/tuned-nfv-dpdk

Is it only for DPDK?
Comment 5 Vijay Chundury 2016-12-06 04:58:10 EST
(In reply to Yariv from comment #1)
> https://blueprints.launchpad.net/tripleo/+spec/tuned-nfv-dpdk
> 
> Is it only for DPDK?

Tune-d is definitely needed to provide affinitiy and isolation for host cores/DPDK PMD(guest)cores respectively, for OVSDPDK usecase.

In case of SRIOV i would think the re-mapping of system interrupts to the Host CPU's would be needed. 

Regards
Vijay.
Comment 13 Saravanan KR 2017-01-09 01:36:24 EST
Working on upstream blueprint - https://blueprints.launchpad.net/tripleo/+spec/tuned-nfv-dpdk.

Review - https://review.openstack.org/#/c/411797/
Comment 14 atelang 2017-01-09 07:04:31 EST
Patches upstream. Owner: skramaja@redhat.com
Comment 15 Saravanan KR 2017-01-10 08:33:59 EST
tripleo-puppet-elements review, https://review.openstack.org/#/c/418348/
Comment 17 Stephen Gordon 2017-01-17 15:15:46 EST
Can you give a bit more context as to what is actually being done here? Is this profile being enabled for *all* Compute nodes, or only those specific subsets (Dpdk, SR-IOV, in the future real-time) that require it?
Comment 18 Saravanan KR 2017-01-18 00:33:25 EST
(In reply to Stephen Gordon from comment #17)
> Can you give a bit more context as to what is actually being done here? Is
> this profile being enabled for *all* Compute nodes, or only those specific
> subsets (Dpdk, SR-IOV, in the future real-time) that require it?

By default, it is disabled. And it is independent of a feature. If a particular deployment needs tune-d support for a role, the corresponding role has to add the parameter and environment file. It is applied to all the nodes in the given role.

Assuming a cluster has multiple roles, like
* Normal Compute (Compute)
* Compute with DPDK (ComputeOvsDpdk)
* Compute with SR-IOV (ComputeSriov)

then, in order to enable the tune-d profile in ComputeOvsDpdk and ComputeSriov, following parameter has to be given:

  ComputeOvsDpdkTunedProfileName: "cpu-partitioning"
  ComputeSriovTunedProfileName: "cpu-partitioning"
Comment 20 Stephen Gordon 2017-02-02 16:30:26 EST
(In reply to Saravanan KR from comment #18)
> (In reply to Stephen Gordon from comment #17)
> > Can you give a bit more context as to what is actually being done here? Is
> > this profile being enabled for *all* Compute nodes, or only those specific
> > subsets (Dpdk, SR-IOV, in the future real-time) that require it?
> 
> By default, it is disabled. And it is independent of a feature. If a
> particular deployment needs tune-d support for a role, the corresponding
> role has to add the parameter and environment file. It is applied to all the
> nodes in the given role.

I think ideally it would actually always be enabled, as even in the "normal" compute case there is a tuned profile for that (something like virtual-host IIRC).

> Assuming a cluster has multiple roles, like
> * Normal Compute (Compute)
> * Compute with DPDK (ComputeOvsDpdk)
> * Compute with SR-IOV (ComputeSriov)
> 
> then, in order to enable the tune-d profile in ComputeOvsDpdk and
> ComputeSriov, following parameter has to be given:
> 
>   ComputeOvsDpdkTunedProfileName: "cpu-partitioning"
>   ComputeSriovTunedProfileName: "cpu-partitioning"

When it comes time to do real-time we may have to perform some extra analysis on our the usage of the cpu-partitioning profile intersects with the real-time one which contains a superset of the same options as we may want to combine on the same host.
Comment 21 Vijay Chundury 2017-03-02 06:27:38 EST
We are waiting for Centos to package tuned-profiles-cpu-partitioning to be packaged.
Once this is done we have a review pending that needs to be pushed upstream.
Comment 23 Saravanan KR 2017-03-15 09:07:48 EDT
Karanbir's input: tuned-profiles-cpu-partitioning is added in "rt" repo. There is a possibility to include this repo file to build DIB elements with "includepkg" set only to the specific package. We need to analyze if it is possible with DIB elements configuration.
Comment 24 Saravanan KR 2017-03-16 14:01:21 EDT
I have enabled the centos repo with includepkgs set only for tuned profile and updated the review in the upstream.
Comment 27 Eyal Dannon 2017-07-19 04:35:22 EDT
As far as I see at /usr/share/openstack-tripleo-heat-templates/extraconfig/pre_network/host_config_and_reboot.role.j2.yaml 
The role takes _HOST_CPUS_LIST_: {get_param: {{role}}HostCpusList} as parameter for tuned (isolated_cores).
we moved to HostIsolatedCoreList as parameter for isolated cores.
shouldn't it use it as parameter?

Thanks
Comment 28 Saravanan KR 2017-07-19 04:45:48 EDT
This (In reply to Eyal Dannon from comment #27)
> As far as I see at
> /usr/share/openstack-tripleo-heat-templates/extraconfig/pre_network/
> host_config_and_reboot.role.j2.yaml 
This file has been deprecated. 

> The role takes _HOST_CPUS_LIST_: {get_param: {{role}}HostCpusList} as
> parameter for tuned (isolated_cores).
> we moved to HostIsolatedCoreList as parameter for isolated cores.
> shouldn't it use it as parameter?
> 
> Thanks
Refer https://github.com/openstack/tripleo-heat-templates/blob/master/extraconfig/pre_network/host_config_and_reboot.yaml for the updated file. 

Use the environment file for enabling it.
https://github.com/openstack/tripleo-heat-templates/blob/master/environments/host-config-and-reboot.j2.yaml

I will provide the document with update changes for enabling it, once it has been tested (there is an in-progress patch for it).
Comment 30 Ziv 2017-10-25 08:23:10 EDT
Has been verified.

Thanks,
Ziv
Comment 33 errata-xmlrpc 2017-12-13 15:46:56 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://access.redhat.com/errata/RHEA-2017:3462

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