LATEST About QUADS PRE 2.2.4 UPDATE DONT PUBLISH

QUADS is a framework for providing automated future scheduling, documentation, end-to-end provisioning and assignment of servers and networks.  QUADS is used primarily in the Red Hat Performance Engineering R&D labs to manage large sets of constantly changing bare-metal systems and networks.

Why QUADS?
We wrote QUADS because there was no solution for pulling together provisioning, automation and future scheduling of large sets of systems and network resources the way we use them in fast-paced, shared R&D environments with a tremendous amount of change and demand.

We needed something that handled the full lifecycle of deployment, validation, automated documentation and asset reclamation for many parallel, disparate scale/performance workloads in our R&D labs that changed hands often, to many groups and many other Engineers all the time.

What Does it Do?
QUADS schedules, provisions, transforms, validates and delivers sets of multi-tenant systems and networks to users based on future schedules.

Think of it like an automated AirBNB™ booked out indefinitely that runs and documents itself:  who’s staying, where, when, for how long, what are they doing – except instead of condos, apartments, homes and rooms it’s sets of computer servers and network switches that together form many isolated, multi-tenant environments typically used for R&D, lab usage or product testing while maximizing your CPU cycles and minimizing your power bill.

QUADS allows a very small team to fully automate the networks/systems administration and documentation overhead of slicing-and-dicing large swaths of bare-metal infrastructure that require rapid change and varied temporal ownership by flexibly scheduling unlimited, complex allocation actions to happen in a tightly controlled set of schedules in the future so you can spend your time doing other things.

Future Asset Scheduling as a Service
Below is an example of a multi-month view of Red Hat’s Performance and Scale R&D lab using QUADS to slice n’ dice up systems/network infrastructure to automatically build, deploy and reclaim varied, isolated multi-tenant workload assignments for disparate Engineering teams and products.

Provisioning, validation, deployment and ultimately reclamation to shift systems/network resources into other varied purposes based on a schedule all happen automatically when the future time comes as entered into QUADS.

In addition to unlimited future scheduling QUADS can do immediate self-scheduling via the API for self-service reservation of systems.

Visualizations of Past, Current and Future Assignments
View all past, current and future availability of QUADS-managed systems via the auto-generated heat map visualization.

Automated Fleet Inventory Management
QUADS tracks and updates all of your server infrastructure for you automatically so you can get rid of those spreadsheets!

Readiness and Validation
All predefined system assignment schedules (clouds) go through systems and network validation prior to being automatically released to their tenants.


Search Fleet Inventory for Future Availability

QUADS let’s you search for availability of systems by model and hardware details for future scheduling.

QUADS 2.2 Architecture
Below is a high-level summary of the architecture of QUADS 2.1 with Nginx, Flask, Postgresql, and Foreman with JIRA and Chat webhook integration.  There is also a full-featured REST API available as well as a Python client library.

QUADS Project Details

Core Development Team
You can find us on #quads on irc.libera.chat.

  • Will Foster
  • Kambiz Aghaiepour
    • kambiz on IRC, kambiz-aghaiepour on Github
  • Gonzalo Rafuls

Media

What’s this QUADS Thing? 2024-12

DevOps Pro Moscow 2017 (Slides)

EuroPython 2017 Presentation