QUADS 2.2.0
About 2.2.0
🐰 QUADS 2.2 delivers breakthrough enhancements such as the long-awaited self-scheduling API feature and GPU awareness to compliment AI workloads. This release is primarily a major feature release with a slew of fixes as well and a sleek looking dark theme for quads-web
Major Feature Highlights
- New self-scheduling feature via the RestAPI! You can talk directly to the API or use our new Python client library
- QUADS is now aware of GPU devices and they can be added to the metadata model for filtering and systems selection.
- You can now use any hostname convention you like as rack, u-location and blade are part of defining new hosts
quads-webnow has a dark theme- Performance improvements to
validate_env - You can now select a different OS from the default for future clouds from anything available in your Foreman via
--osand you can use--os-listto list available operating systems from your Foreman. - Packaging enhancements:
quads-serverandquads-webwill now auto restart after upgrading and run any database migrations for you.
Development Statistics
- 86 x peer-reviewed Gerrithub patch-sets
- 117 x changed files with 3,929 additions and 1,175 deletions.
- Welcome our 13th contributor, @sjug
- This is the 19th release of QUADS since 23-June 2016 when 1.0 was released
Full Change List
- A full list of changes can be found here
System and Infrastructure Requirements
- A supported version of Fedora is required if using our RPM packages
- Recommended VM with 8 x vcpu and 8 x GB of memory.
- Foreman for managing your DNS, DHCP, PXE and systems lifecycle
Breaking Changes and Migrations
New Configuration Files
- Configuration files have been split out into two new files:
/opt/quads/conf/quadsweb.yml(UI specific options go here now)/opt/quads/conf/selfservice.yml(options for self-scheduling feature, disabled by default)
Changed Configuration Values
- Removed from
/opt/quads/conf/quads.yml
lab_name:
ticket_url:
ticket_queue:
visual_web_dir:
web_content_path:
web_exclude_dirs:
racks:
- Added to
/opt/quads/conf/quadsweb.yml
web_content_path:
web_exclude_dirs:
visual_web_dir:
ticket_url:
ticket_queue:
lab_name:
Checking Configuration File Differences
- It's a good idea to diff the updated config files with your existing ones to make note of any breaking changes
diff -u /opt/quads/conf/quads.{yml,yml.rpmnew}
diff -u /opt/quads/conf/quadsweb.{yml,yml.rpmnew}
diff -u /opt/quads/conf/selfservice.{yml,yml.rpmnew}
Migrating from 2.1.6
Important
You will need to run the following conversion script to migrate existing hosts to use rack, ulocation and blade location metadata derived from their hostnames:
curl https://gist.githubusercontent.com/grafuls/49ac6e9958da66c0ef749a103ef37594/raw/771b7f9210104d1f821a74a5759b76e0526a0b25/hostname2meta.py --output hostname2meta.py
python3 ./hostname2meta.py
Known Issues
- None at this time
Packaging and Support
Note that the RPM attached this release may contain some additional fixes since the 2.2.0 release in the future.
If you run into issues or have questions please open an Github issue or find us on libera.chat IRC #quads