Skip to content

QUADS 2.1.0

Latest
Compare
Choose a tag to compare
@sadsfae sadsfae released this 02 Oct 13:14
· 8 commits to latest since this release

About 2.1

:shipit: Huge design improvements and simplification are at the forefront of this major release by completely removing our WordPress component and bringing everything directly back to Flask and quads-web. This greatly reduces our design complexity and adds a plethora of foundational improvements for future features.

The features included in this release were the culmination of over ~6months of parallel design and development before and throughout the 2.0 releases of QUADS. Moving our core automated wiki and inventory to Flask creates the foundation for many more exciting features.

Major Feature Highlights

  • Full removal of Wordpress as the QUADS wiki component
  • Removal of large parts of the code-base dedicated to automating the sync of QUADS status/wiki/inventory over the WordPress XMLRPC/Python API.
  • The quads-web service will now handle our dynamic inventory and wiki component directly via Flask
  • Wiki content and navigation menus are now instantly generated
  • Ability to serve your own static content and menus is documented here
  • Huge performance improvements in quads --regen-heatmap using asyncio
  • Overall much easier adoption for new users

Development Statistics

  • 12+ x peer-reviewed Gerrithub patch-sets
  • 74 x changes files with 1,724 additions and 2,045 deletions
  • This is the 16th release of QUADS since 23-June 2016 when 1.0 was released

Full Change List

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 1.1.8

Migrating from 2.0.5

  • Several conf/quads.yml changes have been completed removed or changed.
  • Nginx vhost configuration files have changed.

Configuration File Changes

Removed Values
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
visual_web_dir: /var/www/html/visual
Changed Values
json_web_path: /opt/quads/web/instack
New Values
web_content_path: /opt/quads/web
web_exclude_dirs: .git static instack visual

Nginx Proxy Changes

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

  • There is currently a bug in the progress bar for provisioning assignments summary in quads-web that will cause a pending new assignment to prematurely display 100% and ready when it's in fact still provisioning or validating.

Note that the RPM attached this release may contain some additional fixes since the 2.1.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