Skip to content

Commit eebede0

Browse files
committed
fixes implementation for guest tools prettyName #429
1 parent 758e864 commit eebede0

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

module/sources/vmware/connection.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
from module.sources.common.source_base import SourceBase
3030
from module.sources.vmware.config import VMWareConfig
3131
from module.common.logging import get_logger, DEBUG3
32-
from module.common.misc import grab, dump, get_string_or_none, plural
32+
from module.common.misc import grab, dump, get_string_or_none, plural, quoted_split
3333
from module.common.support import normalize_mac_address
3434
from module.netbox.inventory import NetBoxInventory
3535
from module.netbox import *
@@ -2162,7 +2162,14 @@ def add_virtual_machine(self, obj):
21622162
# first check against vm_platform_relation
21632163
platform = get_string_or_none(grab(obj, "config.guestFullName"))
21642164
platform = get_string_or_none(grab(obj, "guest.guestFullName", fallback=platform))
2165-
platform = get_string_or_none(grab(obj, "guest.guestDetailedData.prettyName", fallback=platform))
2165+
2166+
# extract prettyName from extraConfig exposed by guest tools
2167+
extra_config = [x.value for x in grab(obj, "config.extraConfig", fallback=[])
2168+
if x.key == "guestOS.detailed.data"]
2169+
if len(extra_config) > 0:
2170+
pretty_name = [x for x in quoted_split(extra_config[0].replace("' ", "', ")) if x.startswith("prettyName")]
2171+
if len(pretty_name) > 0:
2172+
platform = pretty_name[0].replace("prettyName='","")
21662173

21672174
if platform is not None:
21682175
platform = self.get_object_relation(platform, "vm_platform_relation", fallback=platform)

0 commit comments

Comments
 (0)