QUADS 1.1.4 is Released!

Just in time for Turkey Day, QUADS 1.1.4 is a major feature enhancement and bug fix release from the landmark 1.1 series.  Culminating over 7months of development with 25x new features and many bug fixes, come see what’s new!

Major Feature Highlights

  • Hardware Metadata Model: QUADS now populates useful characteristics about your hosts and keeps them in the MongoDB database.
    • You will also need to populate data about your systems to take advantage of this.
    • This is baked into several CLI options as well via the --filter command.
      • quads-cli --ls-hosts --filter "interfaces.mac_address==ac:1f:62:2f:19:42"
      • quads-cli --ls-available --filter "model==FC640,interfaces__size==5"
  • QUADS Available UI (Tech Preview): Flask-based web UI for querying systems availability provided by new service quads-web
    • Runs on TCP/5001
    • Runs from the quads-web service if using RPM / systemd
    • Relies on MongoDB metadata model for filtering based on model or other criteria

  • New options for managing cloud extensions
    • The following commands can be used for easier management of extensions
      • quads-cli --extend-cloud cloud02 --weeks 2 --check
      • quads-cli --extend-cloud cloud02 --weeks 2
  • New commands for managing top-level cloud attributes
    • The --mod-cloud command is now available to manage individual settings at the cloud assignment level
  • Configurable time-lock for defining new environments
    • To prevent against human race conditions and the potential for more than one operator to choose a cloud from quads-cli --find-free-cloud we’ve implemented configurable time locks that prevent future re-definition of a cloud environment for a period set in cloud_reservation_lock
  • Management of broken hosts moved to MongoDB
    • We no longer rely on Foreman host parameters to manage broken/faulty systems, this is now done in MongoDB and managed via QUADS CLI
      • quads-cli --ls-broken
      • quads-cli --mark-faulty --host host01
      • quads-cli --mark-repaired --host host01
  • validate_env.py and our netcat health checks for validation are now fully using asyncio
  • move_and_rebuild_hosts.py will now also unmount virtual media ISO (SuperMicro)
  • Network automation is now idempotent and will not run twice if not needed.
  • quads-cli --summary --detail gives additional full-readout display of active assignments
  • Additional validation check added quads/tools/netcat.py which checks that a system is reachable via TCP/22, this also adds intelligence to validate_env.py to try and better determine where a set of systems is in the baseline/provision process to enact smarter automation.

Major Bug Fixes

  • validate_env.py reboot on marked for build
  • Format error message for --extend-cloud
  • simple_table_web.py fixes for heat map visuals
  • Fixes for summary listings
  • VLAN fixes for last interface for optional public VLANS
  • Notification fixes
  • Fix for old cloud objects not being cleared
  • Fixes for verify_switchconf.py and not processing the last interfaces
  • Fixes for SuperMicro one-time boot
  • Fixes for netcat.py health checks socket prematurely closing
  • Fixes for --ls-available filtering
  • Fix for applying PXE persistence flags on SuperMicro
  • Q-in-Q argument fixes and extensibility
  • CloudHistory fixes with prep_data
  • VLAN ID fixes for CloudHistory
  • Please consult the full changelog of differences between the last release and current release for details on all fixes and enhancements.

New Configuration Options (Read before Migrating from 1.1.3)

The following are changes in /opt/quads/conf/quads.yml you should adjust or add, it’s a good idea to diff the updated quads.yml with your existing one to make note of any breaking changes via diff -u /opt/quads/conf/quads.{yml,yml.rpmnew}

  • New entries for optional ticket system association with QUADS
    • ticket_url:
    • ticket_queue:
  • Optional value for inserting a preferred day-of-week deadline for tenants to submit extension requests.
    • quads_request_deadline_day:
  • Set default wipe policy (defaults to True)
    • default_wipe:
  • Reservation lock (defaults to 48hrs)
    • cloud_reservation_lock:
  • Models Information Added (comma separated list of supported models that match metadata model strings)
    • models: R620,R630,R640,R930,R730XD

Removed Configuration Options

  • gather_dell_configs:
  • foreman_check_host_health:
  • rt_url: (replaced by ticket_url:)
  • report_dir:

Other Notable Changes and Upgrade Notes

  • Migrating Broken Hosts Management to Mongo
    • If you used Foreman host parameters to manage your broken systems before you can migrate them to Mongo with this command set
  • Migrating from 1.1.3 to 1.1.4 Reservation Locks
    • If you see an issue with reservation locks not going away you may need a one-time adjustment of timestamp data outlined in the above issue.
  • Foreman RBAC Changes
    • We have moved to a more manageable method of juggling role-based access permissions for tenants using Foreman which is based on host ownership instead of a series of filters and roles individually added to each system.

As always, check the full changelog here under releases.

Be excellent to each other, and party on.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.