- Network topology management, IP address management (IPAM) and host associations (DNS, DHCP services or Static IP assignment)
- IPMI to power on/off machine and change boot orders, serial consoles
- Disk configuration (MD raid sets, LVM configuration, partitioning)
- Firmware of all the components
- Burn-in testing
- Passing configuration to the host OS for application/OS configuration
- Detecting hardware failures and tracking response.
- Install the OS
MaaS does most of these things, but it's all the life of bare metal. So "just a tool to install a chosen OS" undersells the complexity in this space.
There's even a terraform provider in development.
It manages a fleet of physical servers and provides an API to provision servers, configure networks, and install operating systems. Basically an easier alternative to OpenStack for bare metal servers.
It supports ipmi and a bunch of other BMC's, uses pxe to deploy the operating systems, optionally runs its own DNS and DHCP servers and integrated with stuff like SMART to verify server health before deploying operating systems.
I use it in my research group to manage a fleet of about two dozen servers.