Interface with enabled DPDK disappears from /api/nodes[meta->interfaces] after deployment

Bug #1565706 reported by Maksym Strukov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
High
Artem Panchenko
Mitaka
Fix Released
High
Artem Panchenko

Bug Description

Steps:
1. Create new environment with VLAN segmentation for Neutron
2. Use KVM as hypervisor
3. Add controller and compute nodes
4. Configure HugePages for compute nodes: 256 2m pages for Nova and 128 mb for DPDK
5. Configure private network in DPDK mode on comoute node
6. Run network verification
7. Deploy environment
8. GET http://ip:8000/api/nodes

Expected:
Controller and compute node has same co8unt of interfaces in meta->interfaces

Actual result:
One interface (which has DPDK enabled=true) is absent on compute node

This lead to false negative crashes in fuel-qa system tests, because fuel-qa tries to search devops nodes by set of mac of ALL ifaces of slave. So fuel-qa can't find node if even one interface is absent.

Env: 9.0-152
Testrun: https://custom-ci.infra.mirantis.net/job/9.0.custom.system_test/10/console
Test: https://review.openstack.org/#/c/296070/10/

Changed in fuel:
milestone: none → 9.0
status: New → Confirmed
Revision history for this message
Aleksey Kasatkin (alekseyk-ru) wrote :

Node.meta holds exactly the data received from nailgun-agent. Afaic, dpdk interface cannot be seen via "IP -a" etc. after dpdk is configured. So, it can disappear for nailgun-agent. You can find it via /api/nodes/x/interfaces/

Revision history for this message
Maksym Strukov (unbelll) wrote :

root@node-2:~# ip addr | grep enp0s
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-fw-admin state UP group default qlen 1000
3: enp0s4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-ex state UP group default qlen 1000
4: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-mgmt state UP group default qlen 1000
5: enp0s6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-aux state UP group default qlen 1000
6: enp0s7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-storage state UP group default qlen 1000

root@node-2:~# ifconfig -a | grep enp0s
enp0s3 Link encap:Ethernet HWaddr 64:b3:de:5e:f9:1f
enp0s4 Link encap:Ethernet HWaddr 64:d6:ea:f9:63:49
enp0s5 Link encap:Ethernet HWaddr 64:b1:3b:a8:72:b8
enp0s6 Link encap:Ethernet HWaddr 64:cc:0f:85:47:49
enp0s7 Link encap:Ethernet HWaddr 64:7a:d9:dd:dc:10

all five ifaces are here.

Dmitry Klenov (dklenov)
tags: added: area-library
Changed in fuel:
assignee: nobody → Ivan Ponomarev (ivanzipfer)
Revision history for this message
Maksym Strukov (unbelll) wrote :
Revision history for this message
Ivan Ponomarev (ivanzipfer) wrote :

This situation happen because DPDK interfaces is not showing like usual interfaces because it's not processed by kernel.
http://www.accton.com/temp/u2img/20140616/image003.jpg

You can see this interfaces using dpdk_nic_bind --status

For linux system it's not a usual interfaces that's why they should not be shown in UI.

Changed in fuel:
assignee: Ivan Ponomarev (ivanzipfer) → Maksym Strukov (unbelll)
tags: added: team-telco
Changed in fuel:
assignee: Maksym Strukov (unbelll) → Artem Panchenko (apanchenko-8)
Changed in fuel:
milestone: 9.0 → 10.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-qa (master)

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

Changed in fuel:
status: Confirmed → In Progress
Changed in fuel:
assignee: Artem Panchenko (apanchenko-8) → Maksym Strukov (unbelll)
Changed in fuel:
assignee: Maksym Strukov (unbelll) → Artem Panchenko (apanchenko-8)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-qa (stable/mitaka)

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

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-qa (master)

Reviewed: https://review.openstack.org/307679
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=f6440e6f3185f6f6d699233265dcaa55487e678f
Submitter: Jenkins
Branch: master

commit f6440e6f3185f6f6d699233265dcaa55487e678f
Author: Artem Panchenko <email address hidden>
Date: Tue Apr 19 12:49:45 2016 +0300

    Get MACs from /interfaces instead of node meta

    Use nodes interfaces data (can't be changed after deployment)
    instead of nodes metadata (can be updated after deployment) while
    comparing nodes MACs, because when user enables DPDK for some
    interface, it disappears from node meta after deployment.

    Change-Id: Ibecc244194de3b449ba0a6181d0979bbd7ca0b39
    Closes-bug: #1565706

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

Reviewed: https://review.openstack.org/308146
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=fb77233f9a11f95c5268f75c2a4fc6462f8d988f
Submitter: Jenkins
Branch: stable/mitaka

commit fb77233f9a11f95c5268f75c2a4fc6462f8d988f
Author: Artem Panchenko <email address hidden>
Date: Tue Apr 19 12:49:45 2016 +0300

    Get MACs from /interfaces instead of node meta

    Use nodes interfaces data (can't be changed after deployment)
    instead of nodes metadata (can be updated after deployment) while
    comparing nodes MACs, because when user enables DPDK for some
    interface, it disappears from node meta after deployment.

    Change-Id: Ibecc244194de3b449ba0a6181d0979bbd7ca0b39
    Closes-bug: #1565706

Maksym Strukov (unbelll)
Changed in fuel:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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