Use get() for all remaining VM XML gets
Prevents KeyErrors and such.
This commit is contained in:
parent
921e57ca78
commit
1967034493
|
@ -118,14 +118,14 @@ def getDomainMainDetails(parsed_xml):
|
||||||
ddescription = "N/A"
|
ddescription = "N/A"
|
||||||
dname = str(parsed_xml.name)
|
dname = str(parsed_xml.name)
|
||||||
dmemory = str(parsed_xml.memory)
|
dmemory = str(parsed_xml.memory)
|
||||||
dmemory_unit = str(parsed_xml.memory.attrib['unit'])
|
dmemory_unit = str(parsed_xml.memory.attrib.get('unit'))
|
||||||
if dmemory_unit == 'KiB':
|
if dmemory_unit == 'KiB':
|
||||||
dmemory = int(int(dmemory) / 1024)
|
dmemory = int(int(dmemory) / 1024)
|
||||||
elif dmemory_unit == 'GiB':
|
elif dmemory_unit == 'GiB':
|
||||||
dmemory = int(int(dmemory) * 1024)
|
dmemory = int(int(dmemory) * 1024)
|
||||||
dvcpu = str(parsed_xml.vcpu)
|
dvcpu = str(parsed_xml.vcpu)
|
||||||
try:
|
try:
|
||||||
dvcputopo = '{}/{}/{}'.format(parsed_xml.cpu.topology.attrib['sockets'], parsed_xml.cpu.topology.attrib['cores'], parsed_xml.cpu.topology.attrib['threads'])
|
dvcputopo = '{}/{}/{}'.format(parsed_xml.cpu.topology.attrib.get('sockets'), parsed_xml.cpu.topology.attrib.get('cores'), parsed_xml.cpu.topology.attrib.get('threads'))
|
||||||
except:
|
except:
|
||||||
dvcputopo = 'N/A'
|
dvcputopo = 'N/A'
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ def getDomainDisks(parsed_xml, stats_data):
|
||||||
if device.tag == 'disk':
|
if device.tag == 'disk':
|
||||||
disk_attrib = device.source.attrib
|
disk_attrib = device.source.attrib
|
||||||
disk_target = device.target.attrib
|
disk_target = device.target.attrib
|
||||||
disk_type = device.attrib['type']
|
disk_type = device.attrib.get('type')
|
||||||
disk_stats_list = [x for x in stats_data.get('disk_stats', []) if x.get('name') == disk_attrib.get('name')]
|
disk_stats_list = [x for x in stats_data.get('disk_stats', []) if x.get('name') == disk_attrib.get('name')]
|
||||||
try:
|
try:
|
||||||
disk_stats = disk_stats_list[0]
|
disk_stats = disk_stats_list[0]
|
||||||
|
@ -310,10 +310,10 @@ def getDomainNetworks(parsed_xml, stats_data):
|
||||||
dnets = []
|
dnets = []
|
||||||
for device in parsed_xml.devices.getchildren():
|
for device in parsed_xml.devices.getchildren():
|
||||||
if device.tag == 'interface':
|
if device.tag == 'interface':
|
||||||
net_type = device.attrib['type']
|
net_type = device.attrib.get('type')
|
||||||
net_mac = device.mac.attrib['address']
|
net_mac = device.mac.attrib.get('address')
|
||||||
net_bridge = device.source.attrib[net_type]
|
net_bridge = device.source.attrib.get(net_type)
|
||||||
net_model = device.model.attrib['type']
|
net_model = device.model.attrib.get('type')
|
||||||
net_stats_list = [x for x in stats_data.get('net_stats', []) if x.get('bridge') == net_bridge]
|
net_stats_list = [x for x in stats_data.get('net_stats', []) if x.get('bridge') == net_bridge]
|
||||||
try:
|
try:
|
||||||
net_stats = net_stats_list[0]
|
net_stats = net_stats_list[0]
|
||||||
|
@ -352,9 +352,9 @@ def getDomainControllers(parsed_xml):
|
||||||
dcontrollers = []
|
dcontrollers = []
|
||||||
for device in parsed_xml.devices.getchildren():
|
for device in parsed_xml.devices.getchildren():
|
||||||
if device.tag == 'controller':
|
if device.tag == 'controller':
|
||||||
controller_type = device.attrib['type']
|
controller_type = device.attrib.get('type')
|
||||||
try:
|
try:
|
||||||
controller_model = device.attrib['model']
|
controller_model = device.attrib.get('model')
|
||||||
except KeyError:
|
except KeyError:
|
||||||
controller_model = 'none'
|
controller_model = 'none'
|
||||||
controller_obj = { 'type': controller_type, 'model': controller_model }
|
controller_obj = { 'type': controller_type, 'model': controller_model }
|
||||||
|
|
Loading…
Reference in New Issue