Badfish is a vendor-agnostic, redfish-based API tool used to consolidate management of IPMI and out-of-band interfaces for common server hardware vendors. Badfish is also a popular song from Sublime, this may be a coincidence – are you a badfish too?
We wrote Badfish because more and more vendors are starting to standardize on the redfish API. We run a very large, diverse infrastructure with lots of different vendor technologies and we were tired of tooling differences, limitations and a lack of consistency in approaches to systems automation.
Badfish is a Python-based, asyncio-native standalone tool but it is also bundled into QUADS as a library to manage boot interface ordering/management and bare-metal automation tasks starting in the 1.1 codebase.
- Management of interface boot order for Dell systems
- One-time PXE operations for Dell hardware
- Gathering firmware and hardware inventory for Dell systems
- Pulling Dell system configuration into XML
- Flexible logging for IPMI/out-of-band operations
- Check/set SRIOV global defaults (Dell Only)
- Check/unmount virtual media (SuperMicro Only)
- Gather additional systems information (memory, interfaces, etc).
- Asynchronous IPMI/Redfish automation across large sets of bare-metal systems
- Other SuperMicro and HPE server features are also available.
- Language: Python
- License: GPLv3
- Documentation: Github
- CI/Tests: Travis
- Installation Methods: Github source, Podman container, Python Setuptools, Pip
- Platforms: Linux, BSD, OSX, Windows
- Requirements: Podman or Python3.6+
Core Development Team