Bug 1452382

Summary: dpdk-lcore-mask and pmd-cpu-mask is set incorrectly in OSP11-DPDK deployments
Product: Red Hat OpenStack Reporter: Karthik Sundaravel <ksundara>
Component: openstack-tripleo-heat-templatesAssignee: Karthik Sundaravel <ksundara>
Status: CLOSED ERRATA QA Contact: Yariv <yrachman>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 11.0 (Ocata)CC: atelang, edannon, fbaudin, jslagle, mburns, rhel-osp-director-maint, skramaja, vchundur, yrachman
Target Milestone: z1Keywords: Triaged, ZStream
Target Release: 11.0 (Ocata)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-6.1.0-1.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-07-19 17:04:56 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: 1471254    
Attachments:
Description Flags
post-install.yaml (workaround) none

Description Karthik Sundaravel 2017-05-18 20:05:24 UTC
Created attachment 1280198 [details]
post-install.yaml (workaround)

In OSP11 during fresh install, we observe a mis-configuration of dpdk-lcore-mask and pmd-cpu-mask.

If the THT params are
NeutronDpdkCoreList="'6,7,22,23'"
HostCpusList='"1,2,3,4,5,6,7,16,17,18,19,20,21,22,23'"

then expected values would be
dpdk-lcore-mask="ff00fe", 
pmd-cpu-mask="c000c0"

while the actual values are
dpdk-lcore-mask="ff00fd", 
pmd-cpu-mask="c00081"

The root cause of the issue is identified to be due to the presence of single and double quotes in the THT.

As a workaround, we shall override these masks in the post-install.yaml (attached), which shall be used during the fresh deployment of OSP11

Comment 1 Karthik Sundaravel 2017-06-07 09:36:46 UTC
I've fixed it upstream as well as for stable/ocata branch.

Comment 3 Eyal Dannon 2017-07-18 13:11:06 UTC
I've verified this bug on OSPD11 puddle 2017-06-30.3

# rpm -qa | grep openstack-tripleo-heat
openstack-tripleo-heat-templates-6.1.0-1.el7ost.noarch


Variables:
  NeutronDpdkCoreList: "6,7,22,23"
  HostCpusList: "8,9,24,25"

Expected results:
>>> print "%x" % ((1 << 6) | (1<< 7) | (1 << 22) | (1<< 23))
c000c0
>>> print "%x" % ((1 << 8) | (1<< 9) | (1 << 24) | (1<< 25))
3000300

Actual:
other_config        : {dpdk-extra="-n 4", dpdk-init="true", dpdk-lcore-mask="3000300", dpdk-socket-mem="'2048,2048'", pmd-cpu-mask="c000c0"}

Comment 5 errata-xmlrpc 2017-07-19 17:04:56 UTC
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/RHBA-2017:1778