Following hot on the heels of Valentine’s day, love is in the air with QUADS 1.1.7. Packing in over a years’ worth of development this is a major feature and bugfix release and the last of the 1.1 series as we work hard towards QUADS 2.0.
QUADS 1.1.7 is a major bugfix and feature release. In particular we are focusing on core functionality fixes, several new high-profile features and other enhancements containing over a year of development since the last release.
QUADS 1.1.7 will be the last 1.1 series release barring any critical fixes as we focus on QUADS 2.0 (Bowie) and the new upcoming APIv3, completing the move to Flask and SQLAlchemy/PostgreSQL.
This release includes around 58+ code reviewed patches bringing new features/improvements and bug fixes.
Major Feature Highlights
- Outgoing webhook notifications for environment releases
- Add cloud environment to the –ls-available Flask GUI
- Add lshw2meta tool for gathering hardware to important into host metadata model
- lshw / lshw2meta tool imports and supports a lot more hardware metadata about your systems.
- There is now a no-op list for move_and_rebuild network configuration tasks
- validate_env can now take per-cloud arguments
- –ls-available now supports filtering certain clouds/environments
- –cloud-only now supports filtering hosts
- (Jira) notify submitter if ticket watchers are missing
- (Jira) automate moving of completed workload tickets
- Loads of refactoring and cleanup
Major Bug Fixes
- fix: add-schedule on non-existing hosts
- fix: add filter for retired hosts on wiki regeneration
- fix: filtering retired hosts on verify_switchconf.py tool
- fix: clearing optional public routable VLAN association on cloud objects when terminating a schedule
- fix: race condition when switch reconfiguration fails
- fix: ls_switch_conf.py is now aware of and checks for optional routable public VLANs
- fix: notifications not all being cleared when shrink actions take place
- fix: lsh2meta not storing CPU metadata information
- fix: showing broken hosts in the –ls-retired retired host listings
Notable Changes and Upgrade Notes
- Docker Compose and EL no longer maintained
- Note that we have dropped official support for Docker/Container deployment and RHEL8/9 due to missing EPEL and distribution libraries. We stongly recommend using a modern Fedora Server OS for QUADS going forward. We will still keep container compose bits for CI purposes but do not have the resources to maintain three or more different installation platforms.
- WordPress Wiki Platform Updates
- The associated Ansible playbook we use to deploy WordPress/PHP-FPM/Nginx for QUADS wiki component requires Rocky 8 / RHEL8 / CentOS Stream 8 now. It received a major refactor from RHEL7/CentOS7 which has gotten quite old.
Configuration Changes in /opt/quads/conf/quads.yml
- You can now omit individual systems, clouds or domain names from running network switchport automation
- You can set an outgoing webhook for release notifications
webhook_notify: true webhook_url: https://chat.example.com/v1/spaces/AAABBBCCC
Full Change List
- A full list of changes can be found here
Breaking Changes / Migrations
- Due to schema changes the following code needs to be run after upgrade:
# cd /opt/quads/ # python3 >>> from quads.model import Host >>> hosts = Host.objects() >>> for host in hosts: ... for iface in host.interfaces: ... Host.objects(name=host.name, interfaces__name=iface.name).update(set__interfaces__S__switch_ip=iface.ip_address) (hit enter on empty line)