Warewulf is a operating system management toolkit designed to facilitate large scale deployments of homogeneous and heterogeneous systems on physical, virtual and cloud based infrastructures.
Originally, the Warewulf project pioneered the concept of stateless computing in HPC, setting the standard for large-scale cluster provisioning. It provided two functions, provisioning and monitoring but the two functions did not communicate within Warewulf itself, nor was it possible to hook other functions directly into Warewulf itself.
Today, Warewulf is more than just a basic provisioning and monitoring solution as it now implements an abstract, object-oriented data store and a modular interface which facilitates a highly extensible, customizable feature set. Current and planned modules include monitoring (operating system, services, filesystems, etc.), provisioning, power management, user management, configuration management, event/trigger handling and notification, scheduler integration, cloud services (both local and remote), etc.
This project is licensed under an Open Source (BSD) license, is developed by the US Department of Energy, and supporters/contributors from numerous national labs, universities, and hardware vendors.
- Balance: Warewulf is designed to balance the extensibility with simplicity!
- Value: Providing administrators, engineers, scientists, and service providers with a scalable systems management platform that is able to add value and facilitate their requirements rather than get in their way
- Extensible: Create a framework that is easy to add or change functionality
- Scalable: Support hundreds of thousands of nodes across multiple facilities
- Lightweight: Be hidden from the operating system rather than an integral component
- Easy: To be able to install, and run with minimal documentation necessary to get started (but having documentation available to understand the core internals)
- Open: All development activities, goals, and milestones are publicly available and open (open SCM, initiatives, status, tickets, Email lists, etc.)
- Support: Working with other organizations, commercial vendors, and service providers to meet their needs and encourage them join in and be part of the project