About 2.1.6
🎄 Just before Christmas this release brings several major admin and tooling features as well as more production-tested bug-fixes within the 2.1 series. This is primarily a small feature release with a few bug fixes too, plus some performance improvements for quads-web
when dealing with a large amount of hosts (>1000).
Major Feature Highlights
- New tenant contact tool: notify_tenant.py
- New commands
--ls-notifications
and--mod-notifications
are available. lab_name
now allows you to set your QUADS environment name within thequads-web
service- Visual heatmaps are now rendered in-band of flask /
quads-web
- Visual heatmaps should render the full month now
quads-web
now usesasync
to speed up content rendersquads-web
ajax lazy loading will abort to load other link navigation fasterquads-web
now loads jquery assets locally and does not require access to the internetquads-web
and its/available
endpoint for searching system availability can now have its Date Range manually edited.- Several other bug fixes
Development Statistics
- 23 x peer-reviewed Gerrithub patch-sets
- 31 x changed files with 930 additions and 484 deletions.
- This is the 18th release of QUADS since 23-June 2016 when 1.0 was released
Full Change List
- A full list of changes can be found here
Checking Configuration File Differences
- It's a good idea to diff the updated quads.yml with your existing one to make note of any breaking changes
diff -u /opt/quads/conf/quads.{yml,yml.rpmnew}
Breaking Changes and Migrations
System Requirements
- A supported version of Fedora Server is required if using our RPM packages
- Recommended VM with 8 x vcpu and 8 x GB of memory.
- For full features, an existing Foreman that manages your DNS, DHCP, PXE and systems lifecycle
Migrating from 2.1.5
- New configuration value
lab_name
is required in/opt/quads/conf/quads.yml
Migrating from 2.0.5
- Several
conf/quads.yml
changes have been completed removed or changed. - Nginx vhost configuration files have changed.
Migrating from 1.1.8
- You should follow the upgrade instructions from 2.0.5 for the steps and data migration needed to move to 2.1.
Configuration File Changes
- The following configuration variables are now removed:
Removed Values from 2.1
wp_wiki: https://wiki.example.com
wp_username: wikiadmin
wp_password: wikipassword
wp_wiki_main_title: Lab Dashboard
wp_wiki_main_page_id: 4
wp_wiki_assignments_title: assignments
wp_wiki_assignments_page_id: 357
wp_wiki_vlans_title: Public VLAN Allocations
wp_wiki_vlans_page_id: 14244
wp_wiki_git_manage: false
wp_wiki_git_repo_path: /opt/quads/git/wiki
wiki_url: https://wiki.example.com
Changed Values in 2.1
json_web_path: /opt/quads/web/instack
visual_web_dir: /opt/quads/web/visual
New Values in 2.1
web_content_path: /opt/quads/web
web_exclude_dirs: .git static instack visual any-git-content-dir-you-have README.md
quads_url: https://quads.example.com
lab_name: Lab
Nginx Proxy Changes in 2.1
We are now routing URL and API endpoints directly through Flask @app.route
functionality therefore if you were using a modified TLS/SSL vhost configuration file you'll need to set it up again with the new format.
systemctl stop nginx
cd /etc/nginx/conf.d/
mv apiv3_ssl.conf apiv3_ssl.conf.2.0.old
cp apiv3_ssl.conf.example apiv3_ssl.conf
servername=$(hostname) ; sed -i -e "s/quads.example.com/$servername/" /etc/nginx/conf.d/apiv3_ssl.conf
systemctl start nginx
At this point if you are using TLS you'll need to re-edit your apiv3_ssl.conf
file again with the correct TLS key and certificate names
systemctl restart nginx
Known Issues
- None at this time
Packaging and Support
Note that the RPM attached this release may contain some additional fixes since the 2.1.6 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