DMTF / Redfish-Tacklebox

Python based utilities for performing common management operations with Redfish
Other
51 stars 25 forks source link

can I provide some workaround cases for some redfish server? #124

Closed PeterKchen2 closed 1 year ago

PeterKchen2 commented 1 year ago

can I provide some workaround cases for redfish server?

mraineri commented 1 year ago

Yes, it would be good to add workarounds based on the usage a "workarounds" flag we've been adding to scripts on a case-by-case basis.

For example, in rf_bios_settings.py:

argget.add_argument( "--workaround", "-workaround", action = "store_true", help = "Indicates if workarounds should be attempted for non-conformant services", default = False )

And later it sets a flag in the module to enable workaround logic:

if args.workaround:
    redfish_utilities.config.__workarounds__ = True

And later, when workarounds are triggered, it shows warning messages about it, like this:

warnings.warn( "System '{}' BIOS resource contains the settings term, but no 'SettingsObject'.  Contact your vendor.  Workarounds exhausted for reading the settings data and falling back on using the active attributes.".format( system_id ) )

The reason for this is because we really want to encourage vendors to implement the correct behavior, but at the same time realize that users need to get some task done regardless of how a service behaves.