What's new in MAAS (2.8)
MAAS 2.9.1 release notes
MAAS 2.9 release notes
Following on from MAAS 2.8, we are happy to announce that MAAS 2.9 is now available.
What are the new features & fixes for MAAS 2.9 and MAAS 2.9.1?
- Focal Fossa (20.04) as default commissioning/deployment release
- Support for OpenVswitch bridge type
- Support for NUMA, SR-IOV, and hugepages
- Improved performance for large MAAS installations
- New release notifications
- IPMI configuration screens
- Descriptions when marking machines broken
- Curtin 20.2 now included
- HTTP boot disabled
- BMC/IPMI default parameter additions
- New global IPMI configuration options
- Addition of IPMI config options to UI
- New MAAS CLI power command
- Commissioning speed improvements
- BMC improvements
- IPMI power driver upgrades
- Enlistment script improvements
- Commissioning script improvements
- Commissioning script reordering
- Reader Adaptive Documentation
- Offline documentation
Six other questions you may have:
- What known issues should I be aware of?
- How do I install MAAS 2.9?
- How do I upgrade my MAAS 2.8 snap to a MAAS 2.9 snap?
- How do I install MAAS 2.9 from packages?
- How do I upgrade MAAS 2.8 to MAAS 2.9 using packages?
- What bugs are fixed so far in this release?
Focal Fossa (Ubuntu 20.04 LTS) as default release
Ubuntu 20.04 LTS (Focal Fossa) is now the default commissioning and deployment release for new MAAS installations. Machines deployed with Focal may now be registered as KVM hosts.
Support for OpenVswitch bridge type
MAAS 2.9 allows you to create an OpenVswitch bridge type when creating a bridge.
Support for NUMA, SR-IOV, and hugepages
MAAS 2.9 adds extensive optimisation tools for using NUMA with virtual machines. You can now see how many VMs are allocated to each NUMA node, along with the allocations of cores, storage, and memory. You can quickly spot a VM running in multiple NUMA nodes, and optimise accordingly, with instant updates on pinning and allocations. You can also tell which VMs are currently running. Using the CLI, you can also pin nodes to specific cores, and configure hugepages for use by VMs.
Specifically, there are five new features available to support NUMA, SR-IOV, and hugepages:
- You can examine resources on a per-NUMA-node basis.
- You can pin nodes to specific cores (CLI only).
- You can see resources for VM hosts supporting NUMA nodes.
- You can see the alignment between VM host interfaces and NUMA nodes.
- You can configure and use hugepages (configurable in CLI only).
This functionality comes with an enhanced panel in the “KVM” details section:
See the VM hosting page for more details, and be sure to use the menu at the top of that page to select your desired build method and interface, so that you’ll see the most relevant instructions.
Improved performance for large MAAS installations
MAAS 2.9 includes changes to the machine batch size that the UI loads. Previously the UI loaded machines in batches of 25; it now pulls in 25 for the first call, then 100 at a time in subsequent batches.
You can see the results of the investigation in this video podcast.
New release notifications
MAAS now includes new release notifications for users and administrators. These appear when a new release is available:
Both regular and administrative users can snooze these notifications for two weeks at a time. Administrative users can opt out of new release notifications completely, preventing notifications for any user of that MAAS.
IPMI configuration screens
MAAS now includes UI panels corresponding to the IPMI power driver upgrades mentioned earlier:
This screen can be reached from
Settings | Configuration | Commissioning.
Descriptions when marking machines broken
When marking a machine broken, a description can now included:
This description appears in that machine’s row on the machine list.
Curtin 20.2 now included
A number of MAAS issues have actually been issues with an older version of Curtin. MAAS now includes Curtin 20.2, which fixes many of these issues, including MAAS is changing my boot order!.
HTTP boot disabled
MAAS 2.9 disables HTTP boot. There are known issues with HTTP boot in MAAS, as well as known issues for HTTP boot with grub (e.g. https://bugs.launchpad.net/maas/+bug/1899581) This shouldn’t affect machine boot, as machines will normally try PXE as a fallback boot method if HTTP boot fails. Be aware, though, that machine boot will fail if the BIOS is configured to boot only over HTTP; those machines need to be reconfigured to use PXE.
30-maas-01-bmc-config parameter additions
Four new parameters have been added for IPMI BMC configuration. These parameters will pull from the global defaults, eliminating the need to set the corresponding parameter in each instance.
- maas_auto_ipmi_user - The username for the MAAS created IPMI user. Default comes from the global configuration setting.
- maas_auto_ipmi_user_password - The password for the MAAS created IPMI user, by default a random password is generated.
- maas_auto_ipmi_k_g_bmc_key - he IPMI K_g preshared encryption key to be set when adding the MAAS IPMI user. Note not all IPMI BMCs support setting the k_g key, if MAAS is unable to set the key commissioning will fail. Default comes from the global configuration setting. If an IPMI K_g key is set but the key is rejected by the BMC MAAS will automatically retry without the K_g key. This works around an edge case where some BMCs will allow you to set an K_g key but don’t allow it to be used.
- maas_auto_ipmi_user_privilege_level - The IPMI user privilege level to use when adding the MAAS IPMI user. Possible options are USER, OPERATOR, or ADMIN. Default comes from the global configuration setting.
Note that MAAS will not capture the BMC MAC address when detecting IPMI BMCs.
New global IPMI configuration options
Two new global IPMI configuration options have been added:
- maas_auto_ipmi_k_g_bmc_key - sets a global default IPMI BMC key.
- maas_auto_ipmi_user_privilege_level - sets a global default IPMI BMC user privilege level.
Addition of IPMI config options to UI
You may now set the global configuration options
maas_auto_ipmi_user_privilege_level on the “Settings” page in the UI under “Commissioning.”
New maas.power CLI command
Available in all MAAS 2.9 releases is the new
maas.power CLI command. This command interfaces directly with the supported MAAS power drivers. This command can be used to control the power on a machine before it has been added to MAAS, for all maas supported power drivers. You can get power status, turn machines on or off, and cycle power. The
maas.power --help shows usage details, including syntax for naming each power type (consistent with other MAAS CLI commands).
IPMI BMC detection improvements (RAD)
This release adds two improvements to IPMI BMC detection capability:
- The IPMI cipher suite ID will now be automatically detected. MAAS tries to find the most secure cipher suite available. Preference order is 17, 3, 8, 12. If detection fails MAAS will fall back to using freeipmi-tool default, 3, which is what previous versions of MAAS use.
- The IPMI K_g BMC key will now be automatically detected if previously set.
Reader Adaptive Documentation (RAD)
This release features Reader Adaptive Documentation, which allows you to adapt individual pages to your install method (Snap vs. Deb), version (2.7/2.8/2.9), and preferred interface (CLI/UI).
This release will include offline documentation for those users whose MAAS installations reside behind firewalls, unable to access the online documentation.
Three substantial improvements to BMC usage have been released:
- IPMI, HP Moonshot, and Facebook Wedge BMC detection and configuration scripts have been migrated to the commissioning script
- BMC detection and configuration are now logged to commissioning results.
- If BMC configuration is skipped a ScriptResult will log this result, and indicate which user chose to skip the configuration step.
IPMI power driver upgrades
Three new configuration options have been added to the IPMI power driver:
- K_g - The BMC Key of the IPMI device. Used to encrypt all traffic to and from the device during communication.
- Cipher Suite ID - The cipher suite to use when communicating with the IPMI BMC. Only 3, 8, 12, and 17 are available as only those enable ciphers for authentication, integrity, and confidentiality. Defaults to 3, freeipmi-tools default. See http://fish2.com/ipmi/bp.pdf for more information.
- Privilege Level - The IPMI privilege level to use when communicating with the BMC. Defaults to OPERATOR.
Improvements in enlistment scripting
Script flow and capabilities have been improved in three ways:
- `maas-run-remote-scripts` can now enlist machines.
- Enlistment `user_data` scripts have been removed.
- The metadata endpoints `http://:5240//` and `http://:5240//meta-data/` are now available anonymously for use during enlistment.
Major improvements to commissioning script capabilities
Seven major improvements were made to commissioning script flow and capabilities:
- Commissioning scripts can now send BMC configuration data
- Commissioning scripts can now be used to configure BMC data.
- The environment variable BMC_CONFIG_PATH is passed to serially run commissioning scripts.
- These scripts may write BMC power credentials to BMC_CONFIG_PATH in a YAML format where each key is the power parameter.
- If the commissioning script returns 0, it will be sent to MAAS.
- The first script to write BMC_CONFIG_PATH is the only script that may configure the BMC, allowing you to override MAAS's builtin BMC detection.
- All builtin commissioning scripts have been migrated into the database.
Commissioning script reordering
Commissioning scripts have been reordered and some are now set to run in parallel. You can now easily set a script to run before the builtin MAAS commissioning scripts. There are nine signficant changes:
- 00-maas-03-install-lldpd -> 20-maas-01-install-lldpd
- 00-maas-05-dhcp-unconfigured-ifaces -> 20-maas-02-dhcp-unconfigured-ifaces
- 99-maas-05-kernel-cmdline -> maas -kernel-cmdline
- 00-maas-00-support-info -> maas-support-info(now runs in parallel)
- 00-maas-01-lshw -> maas-lshw(now runs in parallel)
- 00-maas-04-list-modaliases -> maas-list-modaliases(now runs in parallel)
- 00-maas-06-get-fruid-api-data -> maas-get-fruid-api-data(now runs in parallel)
- 00-maas-08-serial-ports -> maas-serial-ports(now runs in parallel)
- 99-maas-01-capture-lldp -> maas-capture-lldp(now runs in parallel)
See the commissioning logs page for more details on these changes.
Improvements in commissioning speed and logging
Four improvements have been made to speed up the commissioning process, mostly by running scripts in parallel (see above):
- Commissioning should now take 60s.
- Logging has been added to 20-maas-01-install-lldpd (commissioning log output).
- Logging added to 20-maas-02-dhcp-unconfigured-ifaces (commissioning log output).
- `user_data` can now be input directly into the UI.
- It is now possible to delete an LXD VM in an offline state.
- MAAS now handles multiple NUMA nodes even when there are gaps in the numbering.
- A snap install issue was fixed.
- The way MAAS handles gateways WRT DHCP was adjusted.
- A majority of the document headings have been converted to links for easy bookmarking.
- MAAS 2.9 includes a fix for Bug #1894727: Admin uses cannot change other user’s passwords via the UI.
RAD LHS menu
There is a known issue with the Reader Adaptive Documentation left-hand-side menu (navigation), in that the menu links cannot currently be adapted to the RAD parameters. This means that selecting a different page in the LHS menu will take you the the RAD for the current recommended version (in this case, Snap/2.8/UI). Every page that is different in RAD, though, should present you with a top menu, so that you can choose the RAD parameters matching your own preferences.
Erroneous message about “missing migration”
When upgrading to any release above 2.8, using packages, you may receive a warning about missing migration(s) – specifically something that looks like this:
Setting up maas-common (2.8.3~rc1-8583-g.9ddc8051f-0ubuntu1~18.04.1) ... Setting up maas-region-api (2.8.3~rc1-8583-g.9ddc8051f-0ubuntu1~18.04.1) ... Setting up maas-region-controller (2.8.3~rc1-8583-g.9ddc8051f-0ubuntu1~18.04.1) ... Operations to perform: Apply all migrations: auth, contenttypes, maasserver, metadataserver, piston3, sessions, sites Running migrations: No migrations to apply. Your models have changes that are not yet reflected in a migration, and so won't be applied. Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
This warning message has no effect on the installation or operation of MAAS, so it can be safely ignored.
snap-2-9-cli snap-2-9-ui deb-2-9-cli deb-2-9-ui -->
MAAS 2.8 release notes
MAAS 2.8.2 released
On 1 September 2020, MAAS 2.8.2 was released, replacing the
2.8/stable channel in snap and the ppa:maas/2.8. You can update your 2.8 release to 2.8.2 with the command:
snap refresh --channel=2.8/stable
or by using the aforementioned PPA. The focus for this release has been bugfixing – there were no changes to MAAS since RC1.
Thanks to everyone who reported the issues with previous 2.7 releases and helped us with the logs.
MAAS 2.8 released
Following on from MAAS 2.7, we are happy to announce that MAAS 2.8 is now available. This release features some critical bug fixes, along with some exciting new features.
Six questions you may have:
- What are the new features & fixes for 2.8?
- What known issues should I be aware of?
- How do I install MAAS 2.8 as a snap?
- How do I upgrade my MAAS 2.7 snap to a MAAS 2.8 snap?
- How do I install MAAS 2.8 from packages?
- What bugs were fixed in this release?
LXD-based VM host support (Beta)
MAAS 2.8 adds the beta capability to use LXD-based VM hosts and virtual machines (VMs), in addition to the libvirt-based VM hosts/VMs already available. These new LXD VM hosts use the same underlying technology as libvirt (QEMU). Unlike libvirt KVMs, though, LXD VMs can be managed without requiring SSH access to the VM host. LXD are remotely accessed via secure HTTP transport, which provides better security for LXD-based VMs. In addition, LXD has a better API, and is part of a much larger constellation of enterprise software, offering a wider range of future features and use cases.
UI performance improvements for the machine listing page
Within MAAS 2.8, we have made a number of performance improvements to everything related to the machine listing. Some of the most visible changes involve the way that long lists are presented within categories (see the example below), but there are a number of other changes that make the list easier and more efficient to use.
Among those other changes are persisting UI state for grouping, new grouping options, bookmark-able URLs with filter and search parameters, and many other performance improvements. If you’re interested in more details, see this blog post.
Support for using an external/remote PostgreSQL MAAS database with the snap version of MAAS
In order to make MAAS more scalable, we have separated the MAAS database from the MAAS snap, so that the DB can be situated separately. MAAS 2.8 now allows the MAAS DB to be located outside the snap on localhost, or on a separate, external or remote server. We complement this capability with extensive instructions for setting up and managing this configuration. To support those who are testing MAAS, we’ve also provided a test DB configuration that embeds the database in a separate snap that can easily be connected to MAAS.
We’ve also fixed number of bugs (see the list in Launchpad). Notable among these are the following:
MAAS event table: Power events are now being logged differently to reduce log sizes and improve performance.
Unprivileged users controlling services: Unprivileged users can no longer start, stop, or restart services via HTTP channels.
Adding KVMs to snap-installed MAAS: SSH key usage has been updated so that KVMs can now be added to snap-installed MAAS without difficulty.
Trouble editing physical interfaces in GUI: It is now possible to edit physical interface parameters, when appropriate, from the web UI.
Subnet pages slow to load: Subnet pages now load more quickly and efficiently.
Trouble loading multiple MAC addresses: You can now reliably load multiple MAC addresses using the web UI.
Disabling DNS on regiond subnet breaks DNS: This problem has been resolved.
Browser caching issue: There is a known issue with browser caching on some MAAS pages. If you initially encounter a page which does not appear to be correctly formatted, please manually clear your browser cache (not Ctrl-F5) and it should restore the page to normal. You manually clear your browser cache, for example, in the “History” section of the menu on a Chrome browser.
Extra power types when adding chassis: (see bug report) When adding a chassis, the “Power type” drop-down will show power types not supported by a chassis. Selecting one of the non-supported power types will result in the UI blocking the action. Here is a list of power types supported for chassis creation:
mscm- Moonshot Chassis Manager
msftocs- Microsoft OCS Chassis Manager
powerkvm- Virtual Machines on Power KVM, managed by Virsh
recs_box- Christmann RECS|Box servers
sm15k- SeaMicro 1500 Chassis
ucsm- Cisco UCS Manager
virsh- virtual machines managed by Virsh
vmware- virtual machines managed by VMware
MAAS keys count in user list is bogus: (see bug report) The count of keys shown in the User list in the UI is wrong.
Leftover lock files may be present under some conditions: Even if you purge an old MAAS Debian package, it can leave lock files in
/run/lock/maas*. This can cause issues if you later reinstall MAAS, and the previous MAAS user UID has been reassigned. At that point, MAAS can’t remove those files and create new ones. If this occurs, it is easily fixed by removing those files manually before reinstalling.