Hide Forgot
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.
https://blueprints.launchpad.net/tripleo/+spec/tuned-nfv-dpdk Is it only for DPDK?
(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.
Working on upstream blueprint - https://blueprints.launchpad.net/tripleo/+spec/tuned-nfv-dpdk. Review - https://review.openstack.org/#/c/411797/
Patches upstream. Owner: skramaja
tripleo-puppet-elements review, https://review.openstack.org/#/c/418348/
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?
(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"
(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.
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.
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.
I have enabled the centos repo with includepkgs set only for tuned profile and updated the review in the upstream.
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
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).
Has been verified. Thanks, Ziv
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