Bug 1451714

Summary: DPDK minor update requires manual step after deployment
Product: Red Hat OpenStack Reporter: Eyal Dannon <edannon>
Component: rhosp-directorAssignee: Saravanan KR <skramaja>
Status: CLOSED NOTABUG QA Contact: Eyal Dannon <edannon>
Severity: high Docs Contact:
Priority: medium    
Version: 10.0 (Newton)CC: atelang, dbecker, edannon, fbaudin, jjoyce, karthik, mbabushk, mburns, morazi, oblaut, rhel-osp-director-maint, samccann, supadhya, yrachman, zgreenbe
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: 10.0 (Newton)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Release Note
Doc Text:
Problem in detail: In OSP10 (OvS2.5), following are the issues: 1) tuned is configured with wrong set of CPUs. Expected configuration is NeutronDpdkCoreList + NovaVcpuPinSet, but it has been configured as HostCpusList. 2) In post-config, the -l of DPDK_OPTIONS is set as 0 and NeutronDpdkdCoreList is configured as pmd-cpu-mask What needs to be corrected after update, manually? 1) Add the list of cpus to be isolated, which is NeutronDpdkCoreList + NovaVcpuPinSet to the tuned conf file. TUNED_CORES="<list of CPUs" sed -i 's/^isolated_cores=.*/isolated_cores=$TUNED_CORES/' $tuned_conf_path tuned-adm profile cpu-partitioning 2) lcore mask after the update will be set to 0. Get the cpu mask with get_mask code from the first-boot script [1]. LCORE_MASK="<mask value output of get_mask" ovs-vsctl --no-wait set Open_vSwitch . other-config:dpdk-lcore-mask=$LCORE_MASK
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-11-09 08:28:26 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 Depends On:    
Bug Blocks: 1408224    

Description Eyal Dannon 2017-05-17 10:56:06 UTC
Description of problem:

After minor update, openvswitch upgraded from ovs2.5 to ovs2.6
At ovs2.5 the lcores are provided as part of the DPDK_OPTIONS,
At ovs2.6 it should be set inside openvswitch options as lcore-mask.
So after the minor update we'll have to set it manually.


Version-Release number of selected component (if applicable):
OSPd10

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Saravanan KR 2017-05-17 11:12:39 UTC
Problem in detail:
In OSP10 (OvS2.5), following are the issues:
1) tuned is configured with wrong set of CPUs. Expected configuration is NeutronDpdkCoreList + NovaVcpuPinSet, but it has been configured as HostCpusList. 
2) In post-config, the -l of DPDK_OPTIONS is set as 0 and NeutronDpdkdCoreList is configured as pmd-cpu-mask

What needs to be corrected after update, manually?
1) Add the list of cpus to be isolated, which is NeutronDpdkCoreList + NovaVcpuPinSet to the tuned conf file.

TUNED_CORES="<list of CPUs"
sed -i 's/^isolated_cores=.*/isolated_cores=$TUNED_CORES/' $tuned_conf_path
tuned-adm profile cpu-partitioning

2) lcore mask after the update will be set to 0. get the cpu mas with get_mask code from the first-boot script [1].
LCORE_MASK="<mask value output of get_mask"
ovs-vsctl --no-wait set Open_vSwitch . other-config:dpdk-lcore-mask=$LCORE_MASK

Comment 2 Saravanan KR 2017-05-18 06:33:35 UTC
Note this bug is raised for OSP10 minor update, I see the bz is targeting OSP11.

For OSP10 (OvS2.5) to OSP11 upgrade, we need only one change out of the two mentioned above:
1) Add the list of cpus to be isolated, which is NeutronDpdkCoreList + NovaVcpuPinSet to the tuned conf file.

TUNED_CORES="<list of CPUs"
sed -i 's/^isolated_cores=.*/isolated_cores=$TUNED_CORES/' $tuned_conf_path
tuned-adm profile cpu-partitioning

Comment 7 Saravanan KR 2017-11-09 08:28:26 UTC
Its a tracking bug to highlight the manual steps. I remember the docs have been updated. Reopen if still something is pending.