Jon Thor Kristinsson
on 9 March 2023
In this blog, you will learn about some of the new features now available in the latest MAAS release. For a deep-dive on some of these features, join our upcoming webinar on 31 March 2023.
The first release of MAAS based on Ubuntu 22.04 LTS
With MAAS 3.3, we are now building the snap based on a Core22 base, the same great experience just built against a new snap base image. Snaps continue to be the suggested deployment method for MAAS.
For those looking to install MAAS from a debian package, we have created a new PPA for MAAS with all required dependencies, allowing installation directly from PPA onto an Ubuntu 22.04 LTS system, without the need to use snaps.
Those wishing to upgrade their existing Ubuntu 20.04 LTS-based systems to the 22.04 LTS can now do so if they run MAAS from a deb package.
Improved machine list filtering
We have also dramatically improved the latency associated with refreshing large machine lists. This is especially important for large MAAS deployments with tens of thousands of nodes.
MAAS 3.3 also enhances the way you can filter the machine list in two ways:
- You can filter quickly after the first page of the machine list loads, even if you have more than 10,000 machines in the list.
- You have a more comprehensive range of filter choices.
With this, we wanted to improve the user experience for those looking to search and filter machines as quickly as possible.
In MAAS 3.2 and earlier, the UI client had to fetch all machines before providing machine search and filter options. This may be fine for smaller MAAS deployments, but users with MAAS deployments covering 1,000 machines or more had to wait too long to search and filter. With MAAS 3.3, when a MAAS UI user wants to find a particular machine, they do not have to wait for all of their machines’ data to load before they can start searching.
Vault integration for credential storage
Besides user experience enhancements, we have shipped a new integration. Hashicorp Vault is now integrated with MAAS, providing users with a secure way to store and manage their credentials and secrets. Vault is an open-source tool designed to store and protect confidential data, such as passwords, tokens, certificates, and encryption keys. It allows users to securely store and manage various data, while providing access control and audit logging to ensure that only authorised users can access the data. Moreover, Vault can encrypt and decrypt data and generate dynamic secrets and credentials to access various services.
Packer MAAS updates and new additions
We have continued to update our image templates for Red Hat Enterprise Linux (RHEL). To stay updated with RHEL releases, we have added a template for building RHEL 9 images.
Deployment support for BlueField 2 DPUs
MAAS continues to evolve, adding advanced provisioning features. We now have an MVP implementation for Data Processing Unit (DPU) provisioning. This allows MAAS to provision an operating system onto a DPU. This MVP was limited to supporting Bluefield 2 DPUs, but we want to extend that in the next development cycle.
With this, we also added Parent/Child relationship mapping for DPUs to better map out the unique relationship between a host and its DPUs.
React migration
With this release, MAAS has now been fully migrated to a React frontend, leading to a more responsive user experience while improving the developer experience for those who want to contribute to the MAAS user interface.
Other notable forward-looking improvements include reliability improvements for simultaneous machine deployments and shifting the MAAS API documentation towards the OpenAPI standards.
Speaking of UI improvements, we have also made some enhancements to the tool’s colour scheme.
MAAS site identity improvements
MAAS 3.3 comes with options for configuring the colour scheme of the MAAS user interface, giving each MAAS a different identity. Notable information is now displayed in the MAAS UI footer.
Ansible playbooks for high-availability MAAS, PostgreSQL, and other configurations
Ansible playbooks are now available for MAAS. These playbooks allow you to easily deploy MAAS in high availability, with all its required dependencies, such as PostgreSQL.
MAAS 3.3 offers playbooks that enable you to:
- Install and configure a MAAS region on a targeted host. Running the playbook on hosts with a MAAS region will upgrade it.
- Install and configure a MAAS rack.
- Setup the PostgreSQL primary role.
- Setup the PostgreSQL secondary role.
MAAS Playbooks are available from a repository. They will eventually be available through Ansible Galaxy.
A set of groups will also automate setting up specific sections of MAAS. For example, a PostgreSQL group sets up the primary and secondary PostgreSQL roles, bypassing the need to run both playbooks individually.
After installing Ansible, running each of the playbooks on a blank machine will give you a fresh install of MAAS that is ready to go. For example, running the region+rack will set up a region+rack on the host machine.
Documentation highlights
We continue to improve our documentation. These are some of the highlights.
MAAS configuration settings reference page
There is now one reference page that addresses all MAAS settings in one place.
Improved MAAS event documentation
We have expanded MAAS event documentation to include much better explanations of events, including many examples.
Improved audit event documentation
We have dramatically expanded our audit documentation to include much better explanations of MAAS audit events, including many examples and use cases.
MAAS 3.3 bug fixes
We shipped over 100 bug fixes with this release. The full details are available here.
Summary
We hope you enjoy these feature enhancements.
If you want more information on MAAS 3.3, join our upcoming webinar dedicated to the MAAS 3.3 release.