diff --git a/pyghmi/ipmi/oem/lenovo/config.py b/pyghmi/ipmi/oem/lenovo/config.py index 113c18b3..b637a5fd 100644 --- a/pyghmi/ipmi/oem/lenovo/config.py +++ b/pyghmi/ipmi/oem/lenovo/config.py @@ -273,6 +273,8 @@ class LenovoFirmwareConfig(object): if lenovo_id == 'iSCSI': # Do not support iSCSI at this time continue + cfglabel = config.find('mriName') + cfglabel = lenovo_id if cfglabel is None else cfglabel.text for group in config.iter("group"): lenovo_group = group.get("ID") for setting in group.iter("setting"): @@ -353,7 +355,8 @@ class LenovoFirmwareConfig(object): default = [] for order in sorted(currentdef): default.append(currentdef[order]) - optionname = "%s.%s" % (lenovo_id, name) + optionname = "%s.%s" % (cfglabel, name) + alias = "%s.%s" % (lenovo_id, name) options[optionname] = dict(current=current, default=default, possible=possible, @@ -370,7 +373,8 @@ class LenovoFirmwareConfig(object): readonly_expression=readonly, hide_expression=hide, sortid=sortid, - lenovo_instance="") + lenovo_instance="", + alias=alias) sortid = sortid + 1 for opt in options: opt = options[opt] diff --git a/pyghmi/ipmi/oem/lenovo/imm.py b/pyghmi/ipmi/oem/lenovo/imm.py index d7cd3e09..73f39142 100644 --- a/pyghmi/ipmi/oem/lenovo/imm.py +++ b/pyghmi/ipmi/oem/lenovo/imm.py @@ -201,6 +201,11 @@ class IMMClient(object): if fnmatch.fnmatch(rkey.lower(), key.lower()): changeset[rkey] = changeset[key] found = True + elif self.fwo[rkey].get('alias', None) != rkey: + calias = self.fwo[rkey]['alias'] + if fnmatch.fnmatch(calias.lower(), key.lower()): + changeset[rkey] = changeset[key] + found = True if found: del changeset[key] else: