Add interfaceid and bridges parameters

Add interfaceid and bridge to parameters. These are sometimes needed to
help figure out from which instance the meter is coming.

Change-Id: Ic50adf5aee8d934d890ac90300e683c6762aefac
Signed-off-by: Arnaud Morin <arnaud.morin@gmail.com>
This commit is contained in:
Arnaud Morin 2019-02-01 14:28:33 +01:00
parent ce2ac3dfc5
commit 062e02c612
2 changed files with 20 additions and 1 deletions

View File

@ -97,6 +97,23 @@ class LibvirtInspector(virt_inspector.Inspector):
params = dict((p.get('name').lower(), p.get('value'))
for p in iface.findall('filterref/parameter'))
# Extract interface ID
try:
interfaceid = iface.find('virtualport').find(
'parameters').get('interfaceid')
except AttributeError:
interfaceid = None
# Extract source bridge
try:
bridge = iface.find('source').get('bridge')
except AttributeError:
bridge = None
params['interfaceid'] = interfaceid
params['bridge'] = bridge
dom_stats = domain.interfaceStats(name)
yield virt_inspector.InterfaceStats(name=name,
mac=mac_address,

View File

@ -242,7 +242,9 @@ class TestLibvirtInspection(base.BaseTestCase):
self.assertEqual('vnet2', vnic2.name)
self.assertEqual('fa:16:3e:96:33:f0', vnic2.mac)
self.assertIsNone(vnic2.fref)
self.assertEqual(dict(), vnic2.parameters)
self.assertEqual(
{'interfaceid': None, 'bridge': 'qbr420008b3-7c'},
vnic2.parameters)
self.assertEqual(9, vnic2.rx_bytes)
self.assertEqual(10, vnic2.rx_packets)
self.assertEqual(11, vnic2.tx_bytes)