SR-IOV interface in "down" state breaks GUI ability to configure node network interfaces/networks

Bug #1564630 reported by Randeep Jalli on 2016-03-31
288
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
High
Aleksandr Didenko

Bug Description

Detailed bug description:
On server with multiple network interfaces that are SR-IOV capable, some interfaces "up", some interfaces "down", trying to configure the network interfaces via the GUI/Webui is not possible. We get error message when hitting "apply" button to regardless of whether or not you configure/enable any with SR-IOV in the GUI or through any other method.

Even "load defaults" and hitting apply does not work.

Steps to reproduce:
1. Bootstrap node
2. Go to GUI node
3. Configure interfaces in any format, however you'd like
4. hit apply

After downloading the interfaces yaml it appears that two of the nic's that are "down" state on these servers(Dell 730XD's) fuel-agent reports the number of vf's as "-1" .

- assigned_networks: []
  bus_info: 0000:81:00.5
  current_speed: null
  driver: be2net
  id: 34
  interface_properties:
    disable_offloading: false
    dpdk:
      available: false
      enabled: false
    mtu: null
    numa_node: null
    pci_id: 10df:0720
    sriov:
      available: true
      enabled: false
      pci_id: 10df:0720
      physnet: physnet2
      sriov_numvfs: 0
      sriov_totalvfs: -1
  mac: 00:90:fa:cb:28:4e
  max_speed: null
  name: enp129s0f5
  offloading_modes:

Expected results:
Interfaces configured as specified.

Actual result:
Get Error message "deque([5, 'interface_properties', 'sriov', 'sriov_totalvfs']): -1.0 is less than the minimum of 0"

Reproducibility:

Workaround:

Make a networking template? (I don't know how to make a networking template for SR-IOV interfaces on a server, it's also not documented anywhere).... do you guys have one? This should also be part of the documentation for Fuel 9.0 possibly.....

Use the API?
(i don't know enough about the nailgun API and the JSON that I'm guessing I would need to send for SRIOV is also not documented anywhere that I can find. <--(this should get addressed too)

Impact:
Unable to deploy system

Description of the environment:
Operation system: Ubuntu 14.04.2
Versions of components: Fuel 9.0
Reference architecture:
Network model: Contrail
Related projects installed: Contrail Plugin
Additional information:
Talk to Andrew Woodward

Randeep Jalli (jallirs) wrote :
information type: Public → Public Security
Dmitry Klenov (dklenov) on 2016-04-01
Changed in fuel:
milestone: none → 9.0
assignee: nobody → Fuel Python Team (fuel-python)
importance: Undecided → High
status: New → Confirmed
tags: added: area-python feature-sr-iov
Aleksey Kasatkin (alekseyk-ru) wrote :

Seems, there is a problem with sr-iov data acquisition in nailgun-agent. sriov_totalvfs should be a positive value, not -1.

tags: added: module-nailgun-agent
removed: area-python feature-sr-iov
tags: added: feature-sr-iov
Changed in fuel:
importance: High → Medium
assignee: Fuel Python Team (fuel-python) → Aleksandr Didenko (adidenko)
Aleksandr Didenko (adidenko) wrote :

Could you please attach output of 'lspci -vvv' command from one of those problem bootstrap nodes?

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

Changed in fuel:
status: Confirmed → In Progress
Aleksandr Didenko (adidenko) wrote :

Raised priority to High because this bug blocks the possibility to configure network for hardware with improperly enabled SR-IOV feature on NICs.

Changed in fuel:
importance: Medium → High

Reviewed: https://review.openstack.org/300357
Committed: https://git.openstack.org/cgit/openstack/fuel-nailgun-agent/commit/?id=f20415917c3110144c33b646806554ae6dd58901
Submitter: Jenkins
Branch: master

commit f20415917c3110144c33b646806554ae6dd58901
Author: Aleksandr Didenko <email address hidden>
Date: Fri Apr 1 10:22:59 2016 +0200

    Fix SR-IOV availability check

    It's possible that SR-IOV is listed in capatibilities but
    Total VFs is equal to zero. In such case nailgun-agent should
    report that SR-IOV is not available.

    Change-Id: I564b5135831f63e591296b1c5dfbe933687bc7d8
    Closes-bug: #1564630

Changed in fuel:
status: In Progress → Fix Committed
Randeep Jalli (jallirs) wrote :

lspci -vvv output

tags: added: on-verification
Artem Panchenko (apanchenko-8) wrote :

Verified on bare-metal server which has SR-IOV compatible NICs, but wrapped lspci tool, so it returns 0 VFs available:

http://paste.openstack.org/show/498601/
http://paste.openstack.org/show/498603/

[root@nailgun ~]# shotgun2 short-report
cat /etc/fuel_build_id:
 303
cat /etc/fuel_build_number:
 303
cat /etc/fuel_release:
 9.0
cat /etc/fuel_openstack_version:
 mitaka-9.0
rpm -qa | egrep 'fuel|astute|network-checker|nailgun|packetary|shotgun':
 fuel-release-9.0.0-1.mos6344.noarch
 fuel-provisioning-scripts-9.0.0-1.mos8680.noarch
 fuel-mirror-9.0.0-1.mos133.noarch
 shotgun-9.0.0-1.mos88.noarch
 fuel-openstack-metadata-9.0.0-1.mos8680.noarch
 fuel-notify-9.0.0-1.mos8337.noarch
 fuel-ostf-9.0.0-1.mos933.noarch
 python-fuelclient-9.0.0-1.mos313.noarch
 fuel-9.0.0-1.mos6344.noarch
 fuel-utils-9.0.0-1.mos8337.noarch
 fuel-nailgun-9.0.0-1.mos8680.noarch
 rubygem-astute-9.0.0-1.mos742.noarch
 fuel-library9.0-9.0.0-1.mos8337.noarch
 network-checker-9.0.0-1.mos72.x86_64
 fuel-agent-9.0.0-1.mos276.noarch
 fuel-ui-9.0.0-1.mos2676.noarch
 fuel-setup-9.0.0-1.mos6344.noarch
 nailgun-mcagents-9.0.0-1.mos742.noarch
 fuel-misc-9.0.0-1.mos8337.noarch
 python-packetary-9.0.0-1.mos133.noarch
 fuelmenu-9.0.0-1.mos269.noarch
 fuel-bootstrap-cli-9.0.0-1.mos276.noarch
 fuel-migrate-9.0.0-1.mos8337.noarch

Changed in fuel:
status: Fix Committed → Fix Released
tags: removed: on-verification
To post a comment you must log in.
This report contains Public Security information  Edit
Everyone can see this security related information.

Other bug subscribers