QUADS 1.1.5
About 1.1.5
QUADS 1.1.5 is a feature and bugfix release with a dozen new features/enhancements and fixes. In particular we are focusing on much tighter integration/automation with JIRA as we use it internally for handling requests and workflow.
🌞 1.1.5
arrives just in time for the Summer! 🌞
Major Feature Highlights
- Added JIRA enhancements/integration to QUADS via
jira.py
andjira_watchers.py
- Added
--host-list
forquads-cli --add-schedule
, this is utilized with and tied into JIRA functionality exclusively at present.- This will auto-update an associated JIRA ticket with all the scheduling details.
- This will also set JIRA ticket "status" to "scheduled" if you have your project setup using these status phases.
- This will also auto-update the respective ticket with optional routable VLAN associations if your QUADS deployment is set-up with this functionality.
quads-cli --add-schedule --host-list /tmp/hosts --schedule-start "2021-04-20 22:00" --schedule-end "2021-05-02 22:00" --schedule-cloud cloud20 --cloud-ticket 12345
- We now have a new host-level MongoDB flag added to the interfaces model -
pxe_boot
#357- This allows you to set per-host
pxe_boot
ordering for generatedinstackenv.json
but also you can set a lab or deployment-level default (see Notable Changes and Upgrade Notes below)
- This allows you to set per-host
- New tool added for populating interfaces data from badfish in
quads/tools/populate_interfaces.py
- Added color-coding for stdout in
--ls-available
- This is a substantial enhancement as it also sorts the return of available future systems by first presenting ones that would not be coming out of an existing assignment first, thereby limiting the risk of taking system from tenants who were late on submitting extensions.
verify_switchconf.py
can now operate at both the host and cloud level. #373--retire
--unretire
and--ls-retire
host features added to manage decommissioning systems #364- Added logic to
--filter
for handling boolean key/value pairs such as--filter "retired==False"
#374 - New tool
modify_switch_conf.py
for ad-hoc management of individual VLAN ports on hosts
Major Bug Fixes
- fix: handling for missing --add-schedule or --mod-schedule #356 #355
- fix: datetime search on Flask available UI #363
- fix: removed health check plus better ssh helper exceptions
- fix: set power state on the HPE DL360
- fix: hardcoded links for vlans on jira ticket assignment
- fix: verify switch conf on last nic and vlans
- fix: cosmetic stdout bug with verify_switchconf #372
Other Notable Changes and Upgrade Notes
Configuration Changes in /opt/quads/conf/quads.yml
- The following
/opt/quads/conf/quads.yml
configuration file has new options required if you want to use--host-list
with--add-schedule
- JIRA-related changes:
jira_url: https://projects.engineering.example.com/rest/api/2
jira_username: admin
jira_password: password
jira_docs_links: http://wiki.example.com/faq/,http://wiki.example.com/usage/,http://docs.example.com/wiki/ScaleLabTipsAndTricks
jira_vlans_docs_links: http://wiki.example.com/vlans/,http://wiki.example.com/public-vlans/
General Changes in /opt/quads/conf/quads.yml
- This should be set to the default PXE interface in
--ls-interfaces --host $host
and is a deployment-wide setting unless overridden bypxe_boot
.
default_pxe_interface: em2
Upgrade Notes / Changes
- The following commands need to be run to seed
pxe_boot
settings for each host in MongoDB after upgrading. em2
here would be the default QUADS internal interface standard you use for PXE booting, also reflected in the abovequads.yml
setting.
$ cd /opt/quads
$ python
>>> from quads.model import Host
>>> Host.objects(interfaces__name="em2").update(set__interfaces__S__pxe_boot=True)
- With the inclusion of
--retire
this will also be needed for upgraded installations only.
$ cd /opt/quads
$ python
>>> from quads.model import Host
>>> hosts = Host.objects()
>>> for host in hosts:
... if not host.retired:
... host.update(retired=False)
Full Change List
- A full list of changes can be found here