net polster vnic parsing causes can cause Attribute errors

Bug #1221784 reported by Dan Prince
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ceilometer
Fix Released
Undecided
Dan Prince

Bug Description

Using the latest version of Havana Ceilometer (git a9f147c) on Centos I'm seeing the following exceptions in the compute agent log file:

2013-09-05 01:57:45.422 8590 WARNING ceilometer.publisher.rpc [-] Publishing policy is unknown (wait) force to default
2013-09-05 01:57:45.423 8590 WARNING ceilometer.publisher.rpc [-] Publishing policy is unknown (wait) force to default
2013-09-05 11:07:46.777 8590 WARNING ceilometer.transformer.conversions [-] dropping sample with no predecessor: <ceilometer.sample.Sample object at 0x23a30d0>
2013-09-05 11:07:47.868 8590 WARNING ceilometer.compute.pollsters.net [-] Ignoring instance instance-00000001: 'NoneType' object has no attribute 'get'
2013-09-05 11:07:47.868 8590 ERROR ceilometer.compute.pollsters.net [-] 'NoneType' object has no attribute 'get'
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net Traceback (most recent call last):
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net File "/usr/lib/python2.6/site-packages/ceilometer/compute/pollsters/net.py", line 80, in get_samples
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net instance_name,
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net File "/usr/lib/python2.6/site-packages/ceilometer/compute/pollsters/net.py", line 69, in _get_vnics_for_instance
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net inspector.inspect_vnics(instance_name)
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net File "/usr/lib/python2.6/site-packages/ceilometer/compute/virt/libvirt/inspector.py", line 114, in inspect_vnics
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net name = iface.find('target').get('dev')
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net AttributeError: 'NoneType' object has no attribute 'get'
2013-09-05 11:07:47.868 8590 TRACE ceilometer.compute.pollsters.net
2013-09-05 11:07:47.881 8590 WARNING ceilometer.compute.pollsters.net [-] Ignoring instance instance-00000001: 'NoneType' object has no attribute 'get'
2013-09-05 11:07:47.881 8590 ERROR ceilometer.compute.pollsters.net [-] 'NoneType' object has no attribute 'get'

----

The issue seems to be due to the fact that the libvirt domain doesn't always have a devices/interface/target element.

Dan Prince (dan-prince)
Changed in ceilometer:
assignee: nobody → Dan Prince (dan-prince)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ceilometer (master)

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

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

Reviewed: https://review.openstack.org/45444
Committed: http://github.com/openstack/ceilometer/commit/d6ab6d10a8e8abbb1114baf2d95d311eb8e23c4d
Submitter: Jenkins
Branch: master

commit d6ab6d10a8e8abbb1114baf2d95d311eb8e23c4d
Author: Dan Prince <email address hidden>
Date: Fri Sep 6 11:15:30 2013 -0400

    Handle missing libvirt vnic targets!

    Updates the libvirt inspector so that our vnic inspection
    can handle cases where the interface/target is missing.
    This can occur in some (usually transient) cases where
    Nova is pausing/migrating/etc an instance.

    Previously Ceilometer would functionally work fine but
    a rather long stack trace would get logged to the log file.

    Fixes LP Bug #1221784

    Change-Id: I7113c6e4bb4af622d517915d13147f5912bad126

Changed in ceilometer:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in ceilometer:
milestone: none → havana-rc1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in ceilometer:
milestone: havana-rc1 → 2013.2
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.