Skip to main content

FRU Generator YAML

Project description

frugy - FRU Generator YAML

This is a tool which generates EEPROM images according to the IPMI FRU standard from YAML configuration files. It can also parse a FRU EEPROM image and write its contents to a YAML file, or dump them to stdout.

Installation

From PyPI:

pip3 install frugy

From GitHub:

pip3 install git+https://github.com/MicroTCA-Tech-Lab/frugy

Usage

$ frugy --help
usage: frugy [-h] [--version] [-o OUTPUT] [-w] [-r] [-d]
             [-e EEPROM_SIZE] [-s SET] [-t] [-b] [-c] [-l [LIST]]
             [-v VERBOSITY]
             [srcfile]

FRU Generator YAML

positional arguments:
  srcfile               Source file for reading

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -o OUTPUT, --output OUTPUT
                        output file (derived from input file if not set)
  -w, --write           FRU write mode (convert YAML to FRU image), default
  -r, --read            FRU read mode (convert FRU image to YAML)
  -d, --dump            dump FRU information to stdout (same as -r -o -)
  -e EEPROM_SIZE, --eeprom-size EEPROM_SIZE
                        pad FRU image to match EEPROM size in bytes (only
                        valid in write mode)
  -s SET, --set SET     set FRU record field to a value (only valid in write
                        mode)
  -t, --timestamp       set BoardInfo.mfg_date_time timestamp to current UTC
                        time (only valid in write mode)
  -b, --broken          enable workaround to parse Opal Kelly EEPROMs
  -c, --ignore-checksum-errors
                        ignore checksum errors when parsing a FRU image
  -l [LIST], --list [LIST]
                        list supported FRU records or schema of specified
                        record
  -v VERBOSITY, --verbosity VERBOSITY
                        set verbosity (0=quiet, 1=info, 2=debug)

Examples

frugy damc-fmc2zup.yml

Read damc-fmc2zup.yml configuration, generate FRU image damc-fmc2zup.bin.

frugy damc-fmc2zup.yml -o fmc2zup_fru_eeprom.bin -e 2048

Read damc-fmc2zup.yml configuration, generate fmc2zup_fru_eeprom.bin, make it 2048 bytes (pad with 0xff).

frugy damc-fmc2zup.bin -r

Read and parse FRU image damc-fmc2zup.bin, generate YAML file damc-fmc2zup.yml.

frugy dmmc-stamp.yml -s BoardInfo.serial_number=1234 -s ProductInfo.version=1.0 -t

Read dmmc-stamp.yml, generate FRU with BoardInfo.serial_number set to 1234, ProductInfo.version to 1.0 and BoardInfo.mfg_date_time to current UTC time.

frugy dmmc-stamp.yml -s serial_number=1234 -t

Read dmmc-stamp.yml, generate FRU with BoardInfo.serial_number and ProductInfo.serial_number set to 1234 and BoardInfo.mfg_date_time to current UTC time.

frugy -l

Show list of all supported FRU records.

frugy -l PointToPointConnectivity

Show layout of the FRU record called 'PointToPointConnectivity'.

Supported FRU records

YAML keywords for supported FRU records

Example configuration file

BoardInfo:
  manufacturer: DESY
  product_name: DMMC-STAMP Rev.A
  serial_number: '0000'
  part_number: '0000'
  fru_file_id: none
ProductInfo:
  manufacturer: DESY
  product_name: DMMC-STAMP Rev.A
  part_number: '0000'
  version: '0000'
  serial_number: '0000'
  asset_tag: none
  fru_file_id: none
MultirecordArea:
- type: ModuleCurrentRequirements
  current_draw: 6.5

More example configurations are stored in the examples folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frugy-0.4.2.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

frugy-0.4.2-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file frugy-0.4.2.tar.gz.

File metadata

  • Download URL: frugy-0.4.2.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for frugy-0.4.2.tar.gz
Algorithm Hash digest
SHA256 dc8f4898605c2457bc0a320f6dd3532064a159ddb6c0e50f48b977c8bef3690f
MD5 3ea84463e17a80883c2dc6b0fe47a3ee
BLAKE2b-256 9bfb35c36c8bfcdb70cf17d0c3efeb5a513d686e56e8c801a113a50613d6b6fd

See more details on using hashes here.

File details

Details for the file frugy-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: frugy-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for frugy-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2f9aed6a98a6c72086523ba3d3c27ad0208d9fe1e5deef15dc7e76cdc9a13bc2
MD5 a0f764ff4188d1617a40b18b7855f4e4
BLAKE2b-256 d59fc86b96981b14395736f720e129fcc472f09ad31ba5340df2f1d65a430657

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page