Last Week in ManageIQ: Faster Reports, Cloud Networks, and more!
Hello and welcome to the first Last Week in ManageIQ! This is Tim here ready to take you on a whirlwind tour of some of the many, many (many) updates we had to the ManageIQ codebase over just the last week.
Featured
Last week we had an incredible 109 PRs merged into master, with an astonishing 329 commits! Contributions from outside the ManageIQ team are always welcome - feel free to check out the latest issues if you want to get involved.
Improved
Speed up MiqReport by using join instead of include
An include was fetching all the MiqReportResult
records in order to
filter the MiqReport
objects on the /report/explorer
page. Using a
join
/distinct
instead greatly reduced the number of rows sent back
from the database, resulting in faster times and a much better user
experience.
Improve performance on NetworkManager list pages
This PR was able to improve the performance of NetworkManager
list
pages by removing a number of N+1 queries.
Fixed
Use a mutex to prevent concurrent deliver calls in Automate
With the introduction of Puma as the default web server, concurrent
requests were starting to cause issues with starting and stopping
services in Automate. To fix this a mutex was used in the the
MiqAeEngine
deliver code, preventing more than one delivery from
running at a time.
Better support for acts_as_ar_query collection methods
This PR, along with the work done in
#9896, expands
support for acts_as_ar_query
objects to respond properly to
#empty?
and #present?
.
New
Cloud Networks API
This PR added a new /api/cloud_networks
endpoint to the API, as well
as a new /api/providers/:provider_id/cloud_networks
subcollection.
Enhancement to Users API
Where users could previously only update their password through this
endpoint, support was added to update their email and settings too. It
also updated the /api
entrypoint to include all the user’s settings
in the response.
Add a language switcher in the SSUI
Building on the Users API enhancement where a user is able to update their language preference, a language switcher was added to the SSUI both in the User’s menu and in the login screen. A user can now select their preferred language in the UI and it will be remembered for next time they log in. This also builds on another to PR to add the list of available languages as a Gulp task here.
Deleted
Remove MiqERBForYAML
This code was last needed in 2013 and we gave it a fond farewell last week!
Remove unused code for ActiveSupport::Inflector
Since the miq-string
extension file was requiring
active_support/inflector
, a total of 141 lines could be removed
which duplicated that work.
Wrapping up
There were way too many PRs to cover in detail, but feel free to check them all out here. Look out for the next installment of Last Week in ManageIQ!