Changes in hiera processing break deployment for multi-NUMA dpdk setup

Bug #1587898 reported by Mikhail Chernik
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Atsuko Ito
Mitaka
Fix Released
High
Arthur Svechnikov
Newton
Fix Committed
High
Atsuko Ito

Bug Description

Environment: MOS 9.0, ISO 426

Detailed description:

Due to recent changes in yaml processing, comma separated list of values is glued together.
If DPDK is turned on and a host has > 1 NUMA nodes, this leads to an unsuccessful attempt to allocate huge amount of memory, which breaks deployment.

Steps to reproduce:
[root@nailgun ~]# echo "dpdk:
> ovs_socket_mem: 1024,1024,1024,1024" >> /etc/hiera/astute.yaml
[root@nailgun ~]# hiera dpdk
{"ovs_socket_mem"=>1024102410241024}
[root@nailgun ~]# python -c 'import yaml; print(yaml.load(open("/etc/hiera/astute.yaml"))["dpdk"])'
{'ovs_socket_mem': '1024,1024,1024,1024'}
[root@nailgun ~]#

Actual result:
`hiera dpdk` returns
{"ovs_socket_mem"=>1024102410241024}

Expected result:
`hiera dpdk` returns
{"ovs_socket_mem"=>'1024,1024,1024,1024'}

Changed in fuel:
status: New → In Progress
Changed in fuel:
importance: Undecided → High
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-library (master)

Fix proposed to branch: master
Review: https://review.openstack.org/323937

Changed in fuel:
assignee: Arthur Svechnikov (asvechnikov) → Vladimir Eremin (yottatsa)
Revision history for this message
Arthur Svechnikov (asvechnikov) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/#/c/323814/

Dmitry Pyzhov (dpyzhov)
tags: added: area-library
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-library (master)

Reviewed: https://review.openstack.org/323937
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=a91ea7a30900714aabfb8249d2d5f5b9c2131243
Submitter: Jenkins
Branch: master

commit a91ea7a30900714aabfb8249d2d5f5b9c2131243
Author: Vladimir Eremin <email address hidden>
Date: Wed Jun 1 17:05:10 2016 +0300

    Handle ovs_socket_mem as list

    Due to yaml dump/load incomsistency, string like '1,2,3,4' will be
    dumped without quotes and loaded without commas. To fix it, socket
    memory per NUMA will be passed as a list.

    Change-Id: I579c43a0e8a391092f33a755e18b06ef8ed1a62e
    Closes-Bug: #1587898

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-library (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/325191

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-library (stable/mitaka)

Reviewed: https://review.openstack.org/325191
Committed: https://git.openstack.org/cgit/openstack/fuel-library/commit/?id=ee2b0d17fdfa19b26161ac28bcc46996f6fc1e23
Submitter: Jenkins
Branch: stable/mitaka

commit ee2b0d17fdfa19b26161ac28bcc46996f6fc1e23
Author: Vladimir Eremin <email address hidden>
Date: Wed Jun 1 17:05:10 2016 +0300

    Handle ovs_socket_mem as list

    Due to yaml dump/load incomsistency, string like '1,2,3,4' will be
    dumped without quotes and loaded without commas. To fix it, socket
    memory per NUMA will be passed as a list.

    Change-Id: I579c43a0e8a391092f33a755e18b06ef8ed1a62e
    Closes-Bug: #1587898
    (cherry picked from commit a91ea7a30900714aabfb8249d2d5f5b9c2131243)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/323814
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=14f0753dd4b7616e307e076b6aaee57e20f4a06d
Submitter: Jenkins
Branch: master

commit 14f0753dd4b7616e307e076b6aaee57e20f4a06d
Author: Artur Svechnikov <email address hidden>
Date: Wed Jun 1 14:40:32 2016 +0300

    Change format of dpdk ovs_socket_mem

    PyYAML recognizes 1,1,1,1 as string, however,
    the Hiera think that this is a list and as result
    we have 1111. Thus it's better to avoid ambiguous
    formats and use list instead of comma separeted string.

    Change-Id: I360c880d68af366fdd96a3ceeebb5f73403ffb85
    Closes-Bug: #1587898

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/325965

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (stable/mitaka)

Reviewed: https://review.openstack.org/325965
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=cc20859c168ff48c138796ab81e494bc7c5ad23e
Submitter: Jenkins
Branch: stable/mitaka

commit cc20859c168ff48c138796ab81e494bc7c5ad23e
Author: Artur Svechnikov <email address hidden>
Date: Wed Jun 1 14:40:32 2016 +0300

    Change format of dpdk ovs_socket_mem

    PyYAML recognizes 1,1,1,1 as string, however,
    the Hiera think that this is a list and as result
    we have 1111. Thus it's better to avoid ambiguous
    formats and use list instead of comma separated string.

    Appropriate fix already merged to fuel-library.

    Change-Id: I360c880d68af366fdd96a3ceeebb5f73403ffb85
    Closes-Bug: #1587898
    (cherry picked from commit 14f0753dd4b7616e307e076b6aaee57e20f4a06d)

Revision history for this message
Ksenia Svechnikova (kdemina) wrote :

Verify on ISO fuel-9.0-mos-481-2016-06-13 (http://paste.openstack.org/show/515963/)

[root@lab5-fuel9 ~]# hiera dpdk
{"ovs_socket_mem"=>"1024,1024,1024,1024"}
[root@lab5-fuel9 ~]# python -c 'import yaml; print(yaml.load(open("/etc/hiera/astute.yaml"))["dpdk"])'
{'ovs_socket_mem': '1024,1024,1024,1024'}
[root@lab5-fuel9 ~]#

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.