| #!/usr/bin/env python |
| |
| r""" |
| PLDM functions. |
| """ |
| |
| import re |
| import var_funcs as vf |
| import func_args as fa |
| import bmc_ssh_utils as bsu |
| import json |
| |
| |
| def pldmtool(option_string, **bsu_options): |
| r""" |
| Run pldmtool on the BMC with the caller's option string and return the result. |
| |
| Example: |
| |
| ${pldm_results}= Pldmtool base GetPLDMTypes |
| Rprint Vars pldm_results |
| |
| pldm_results: |
| pldmtool base GetPLDMVersion -t 0 |
| { |
| "Response": "1.0.0" |
| } |
| |
| pldmtool base GetTID |
| { |
| "Response": 1 |
| } |
| |
| Description of argument(s): |
| option_string A string of options which are to be processed by the pldmtool command. |
| parse_results Parse the pldmtool results and return a dictionary rather than the raw |
| pldmtool output. |
| bsu_options Options to be passed directly to bmc_execute_command. See its prolog for |
| details. |
| """ |
| |
| # This allows callers to specify arguments in python style (e.g. print_out=1 vs. print_out=${1}). |
| bsu_options = fa.args_to_objects(bsu_options) |
| |
| stdout, stderr, rc = bsu.bmc_execute_command('pldmtool ' + option_string, **bsu_options) |
| return json.loads(stdout) |