xref: /openbmc/pldm/tools/visualize-pdr/README.md (revision e35963842386105a2ff1fed4d182d13a8405fdd0)
1b8cc3257SManojkiran Eda# Overview
2b8cc3257SManojkiran Eda
33618064eSPatrick WilliamsThe `pldmtool` for `GetPDR` command lacks to display all PDRs at once. It
43618064eSPatrick Williamsfetches only one PDR at a time. With a lot of sensors/effecters & with a lot of
53618064eSPatrick WilliamsHost FRU pdrs coming in due to concurrent maintenance of the system,where the
63618064eSPatrick Williamsfru's are added/ removed at runtime, it's really necessary to have a full system
73618064eSPatrick Williamsview.
8b8cc3257SManojkiran Eda
9b8cc3257SManojkiran Eda`pldm_visualise_pdrs.py` is a python script that can be used to fetch the PDR's
103618064eSPatrick Williamsfrom the BMC and can parse them to display a full view of available PDR's on
113618064eSPatrick Williamssystem at any given point in time.
12b8cc3257SManojkiran Eda
13*e3596384SManojkiran Eda## Requirements
143618064eSPatrick Williams
15b8cc3257SManojkiran Eda- Python 3.6+
16b8cc3257SManojkiran Eda- graphviz
17b8cc3257SManojkiran Eda  - Graphviz is open source graph visualization software. Graph visualization is
18b8cc3257SManojkiran Eda    a way of representing structural information as diagrams of abstract graphs
19b8cc3257SManojkiran Eda    and networks.
202576aecdSManojkiran Eda  - There are standard package available for graphviz for both rpm based as well
212576aecdSManojkiran Eda    as the debian based systems, it can be installed using :
22b8cc3257SManojkiran Eda
23b8cc3257SManojkiran Eda```bash
24*e3596384SManojkiran Eda# RPM based distro
25*e3596384SManojkiran Edasudo dnf install graphviz
26*e3596384SManojkiran Eda
27*e3596384SManojkiran Eda# Debian based distro
28*e3596384SManojkiran Edasudo apt install graphviz
29*e3596384SManojkiran Eda
30*e3596384SManojkiran Eda# mac distro
31*e3596384SManojkiran Edabrew install graphviz
32b8cc3257SManojkiran Eda```
333618064eSPatrick Williams
343618064eSPatrick Williams- The `requirements.txt` file should list all Python libraries that the tool
353618064eSPatrick Williams  depend on, and that can be installed using:
36b8cc3257SManojkiran Eda
37b8cc3257SManojkiran Eda```bash
38b8cc3257SManojkiran Eda    sudo pip3 install -r requirements.txt
39b8cc3257SManojkiran Eda              (or)
40b8cc3257SManojkiran Eda    pip3 install -r requirements.txt --user
41b8cc3257SManojkiran Eda```
423618064eSPatrick Williams
43*e3596384SManojkiran Eda## Usage
44b8cc3257SManojkiran Eda
45*e3596384SManojkiran Eda```bash
46*e3596384SManojkiran Eda$ pldm_visualise_pdrs.py [-h] --bmc BMC --user USER --password PASSWORD [--port PORT]
47b8cc3257SManojkiran Eda
48b8cc3257SManojkiran Edaoptional arguments:
49b8cc3257SManojkiran Eda  -h, --help           show this help message and exit
50b8cc3257SManojkiran Eda  --bmc BMC            BMC IPAddress/BMC Hostname
51b8cc3257SManojkiran Eda  --user USER          BMC username
52b8cc3257SManojkiran Eda  --password PASSWORD  BMC Password
53b8cc3257SManojkiran Eda  --port PORT          BMC SSH port
54b8cc3257SManojkiran Eda
55b8cc3257SManojkiran Eda```
56