Fix improper handling of machine_type in ovirt inventory (#16251)
Currently the machine_type will not work if the instance type is set in ovirt. In that case, inst.get_instance_type will be an object and will fails while converting to json. This only work if the instance type is not set in ovirt where inst.get_instance_type is a Null value. The current change make sure that correct "instance type" is passed when instance is set in ovirt and Null when it's not set in ovirt.
(cherry picked from commit 1f3d82dd18
)
This commit is contained in:
parent
f5240d2953
commit
e97a00de9e
1 changed files with 6 additions and 1 deletions
|
@ -211,7 +211,7 @@ class OVirtInventory(object):
|
||||||
'ovirt_uuid': inst.get_id(),
|
'ovirt_uuid': inst.get_id(),
|
||||||
'ovirt_id': inst.get_id(),
|
'ovirt_id': inst.get_id(),
|
||||||
'ovirt_image': inst.get_os().get_type(),
|
'ovirt_image': inst.get_os().get_type(),
|
||||||
'ovirt_machine_type': inst.get_instance_type(),
|
'ovirt_machine_type': self.get_machine_type(inst),
|
||||||
'ovirt_ips': ips,
|
'ovirt_ips': ips,
|
||||||
'ovirt_name': inst.get_name(),
|
'ovirt_name': inst.get_name(),
|
||||||
'ovirt_description': inst.get_description(),
|
'ovirt_description': inst.get_description(),
|
||||||
|
@ -230,6 +230,11 @@ class OVirtInventory(object):
|
||||||
"""
|
"""
|
||||||
return [x.get_name() for x in inst.get_tags().list()]
|
return [x.get_name() for x in inst.get_tags().list()]
|
||||||
|
|
||||||
|
def get_machine_type(self,inst):
|
||||||
|
inst_type = inst.get_instance_type()
|
||||||
|
if inst_type:
|
||||||
|
return self.driver.instancetypes.get(id=inst_type.id).name
|
||||||
|
|
||||||
# noinspection PyBroadException,PyUnusedLocal
|
# noinspection PyBroadException,PyUnusedLocal
|
||||||
def get_instance(self, instance_name):
|
def get_instance(self, instance_name):
|
||||||
"""Gets details about a specific instance """
|
"""Gets details about a specific instance """
|
||||||
|
|
Loading…
Reference in a new issue