[network-checker] No support for faulty operstate in eth drivers

Bug #1618480 reported by Stefan Sicleru on 2016-08-30
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
High
Vladimir Kuklin
Mitaka
High
Vladimir Kuklin
Newton
High
Vladimir Kuklin
Ocata
High
Vladimir Kuklin

Bug Description

Some eth drivers, such as those for APM X-Gene Mustang Board's NICs, do not advertise operstate properly in sysfs, i.e. it is advertised as "unknown" whereas ethtool shows the NIC as fully functional with link detected. This further affects "ip link show" output which is parsed within _check_iface_ready() method
from network-checker/net-check/api.py which leads to erroneous results for up-and-running interfaces.
This further affects network connectivity checks' results in Fuel's web UI.

root@bootstrap:~# cat /sys/class/net/ene25/operstate
unknown

Problematic code: [1]

Steps to reproduce:
1. Build and deploy ISO for a cluster containing APM boards.
2. Bootstrap target nodes and trigger network connectivity checks.

Description of the environment:
 * Operation system: Ubuntu Trusty 14.04 (arm64)
 * Kernel Version: 4.4 (linux-image-generic-lts-xenial)
 * Latest APM firmware: TianoCore 3.06.12
 * Versions of components: stable/mitaka
 * Related projects installed: Fuel@OPNFV

Proposed possible changes:
 * use ethtool output instead of "ip link show" (although ethtool is not supported on all ethernet drivers)

Best regards,
Stefan

[1] https://github.com/openstack/network-checker/blob/master/network_checker/net_check/api.py#L195

Changed in fuel:
assignee: nobody → Fuel Sustaining (fuel-sustaining-team)
Changed in fuel:
status: New → Confirmed
importance: Undecided → High
assignee: Fuel Sustaining (fuel-sustaining-team) → l23network (l23network)
milestone: none → 10.0
tags: added: l23network
Dmitry Pyzhov (dpyzhov) on 2016-12-05
Changed in fuel:
assignee: Registry Administrators (registry) → Fuel Sustaining (fuel-sustaining-team)
importance: High → Medium
Dmitry Pyzhov (dpyzhov) on 2016-12-13
Changed in fuel:
importance: Medium → High

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

Changed in fuel:
assignee: Fuel Sustaining (fuel-sustaining-team) → Vladimir Kuklin (vkuklin)
status: Confirmed → In Progress
Aleksey Kasatkin (alekseyk-ru) wrote :

Should not we check "carrier" instead of "operstate" to be sure we can start to send/receive ?

Aleksey Kasatkin (alekseyk-ru) wrote :

fix: Should not we check "carrier" instead of "operstate" to be sure we can start sending ?

Vladimir Kuklin (vkuklin) wrote :

operstate will be set to down by kernel if carrier is down

Reviewed: https://review.openstack.org/413195
Committed: https://git.openstack.org/cgit/openstack/network-checker/commit/?id=b9b5633142bc69d02528bacea38f12af0afd396c
Submitter: Jenkins
Branch: master

commit b9b5633142bc69d02528bacea38f12af0afd396c
Author: Vladimir Kuklin <email address hidden>
Date: Tue Dec 20 20:52:08 2016 +0300

    Handle unknown operstate with ethtool

    Use ethtool if inteface operstate is not up.

    Change-Id: I7eef2f9ab542fefacb4fe8ec16c3cab6e3b677b6
    Closes-bug: #1618480

Changed in fuel:
status: In Progress → Fix Committed

Reviewed: https://review.openstack.org/417373
Committed: https://git.openstack.org/cgit/openstack/network-checker/commit/?id=6ade5f6934aabab154a86183b03ee4569a3e0bcc
Submitter: Jenkins
Branch: stable/newton

commit 6ade5f6934aabab154a86183b03ee4569a3e0bcc
Author: Vladimir Kuklin <email address hidden>
Date: Tue Dec 20 20:52:08 2016 +0300

    Handle unknown operstate with ethtool

    Use ethtool if inteface operstate is not up.

    Change-Id: I7eef2f9ab542fefacb4fe8ec16c3cab6e3b677b6
    Closes-bug: #1618480

Reviewed: https://review.openstack.org/417983
Committed: https://git.openstack.org/cgit/openstack/network-checker/commit/?id=4329e5f43a45db92fea6846dc13cdb4c1dea41ff
Submitter: Jenkins
Branch: stable/mitaka

commit 4329e5f43a45db92fea6846dc13cdb4c1dea41ff
Author: Vladimir Kuklin <email address hidden>
Date: Tue Dec 20 20:52:08 2016 +0300

    Handle unknown operstate with ethtool

    Use ethtool if inteface operstate is not up.

    Change-Id: I7eef2f9ab542fefacb4fe8ec16c3cab6e3b677b6
    Closes-bug: #1618480
    (cherry picked from commit b9b5633142bc69d02528bacea38f12af0afd396c)

Nastya Urlapova (aurlapova) wrote :

Sebastian, dev team, we don't have such cards for proper verification, according to our rules the issue was closed as "Fix Released". If you find a HW for verification, please don't hesitate reopen the issue.

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

Other bug subscribers