XenAPI plugin failure with fetch_all_bandwidth

Bug #1597551 reported by Jianghua Wang
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Jianghua Wang

Bug Description

XenAPI can't fetch the bandwidth with the following error in log:
2016-06-29 09:02:27.639 30900 ERROR oslo_service.periodic_task Failure: ['XENAPI_PLUGIN_FAILURE', 'fetch_all_bandwidth', 'ValueError', 'need more than 1 value to unpack']

Revision history for this message
Sean Dague (sdague) wrote :

This bug provides no information on the system in which this error occurred, what configuration, what code levels. Without those things the bug is Invalid.

If you provide more detail to the point where the bug can be addressed, we can reopen.

Changed in nova:
status: New → Incomplete
status: Incomplete → Invalid
Changed in nova:
assignee: nobody → Jianghua Wang (wjh-fresh)
status: Invalid → In Progress
Revision history for this message
Jianghua Wang (wjh-fresh) wrote :

When introducing interim bridge for XenAPI, it introduced a interface which is used to connect the interim bridge and it has the name as vifxxxxx-x. In XenServer, it use vif<dom#>.<dev#> to represent VM's virtual interface. In the xenapi plugin of bandwidth, it use the pattern of "vif*" to filter out VM's interfaces. Due to the existing of vifxxxxx-x, it will get exception and parse the interface's name basing on "vif<dom#>.<dev>". So I think we can give two fixes:
1. use another name for the interface connected to the interim bridge. e.g. change vifxxxxx-x to intxxxxx-x. At here int is the first 3 chars of 'interim bridge';
2. give more restrict pattern to filter VM's vifs e.g. change from "vif*" to "vif<dom#>.<dev#>".

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

Reviewed: https://review.openstack.org/365838
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=676babbd9acb08b389848092236cad182306b373
Submitter: Jenkins
Branch: master

commit 676babbd9acb08b389848092236cad182306b373
Author: Jianghua Wang <email address hidden>
Date: Tue Sep 6 11:14:05 2016 +0800

    XenAPI: resolve the fetch_bandwidth failure

    When introducing interim bridge for XenAPI, it introduced a interface
    which is connected to the interim bridge and it has the name as
    vifxxxxxxxx-xx. In the xenapi plugin of bandwidth, it uses
    the pattern of "^vif*" to filter out VM's interfaces. Due to the
    existing of vifxxxxxxxx-xx, it will get exception when parsing the
    interface's name basing on "vif<dom#>.<dev>".
    So let's give more restrict pattern to filter VM's vifs e.g. change from
    "^vif*" to "^vif<dom#>.<dev#>". May consider to use another interface
    name for the interface on interim bridge; but need cover both name
    patterns when delete interfaces to avoid upgrade issues which may make
    things complicated.

    Change-Id: I36b96bbe2bb764f3d60cbeb43aa3dbd9a0a43f61
    Closes-Bug: #1597551

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 15.0.0.0b1

This issue was fixed in the openstack/nova 15.0.0.0b1 development milestone.

Revision history for this message
Michal Adamczyk (vanditboy) wrote :

Hi,

I have this bug in RDO (Centos 7.3) Newton release.

Can you please backport this fix to Newton?

Kind regards,
Michal.

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.