Offline docs (switch to live docs)                         UI-only  CLI-only 

How to upgrade MAAS

If you're already using MAAS, this is probably how you get to a new version

Errors or typos? Topics missing? Hard to read? Let us know!

Upgrade your MAAS setup using this guide. Don't forget to consult the installation notes at the end.

If your MAAS environment includes multiple machines with identical IPMI BMC IP addresses and usernames but different passwords, please review this potential migration issue when upgrading your MAAS instance.

Upgrading MAAS 2.9++ to 3.4

Before updating to MAAS 3.4, keep in mind that PostgreSQL 12 support is being phased out. We recommend upgrading to PostgreSQL 14 beforehand.

MAAS versions 3.3 to 2.9

If you're running MAAS versions 2.9 to 3.3, first check the Ubuntu version with lsb_release -a. Look for "22.04" as the release and "Jammy" as the codename.

Next, update Ubuntu, if needed. If you're on Ubuntu 20.04 LTS, move to 22.04 LTS using:

sudo do-release-upgrade --allow-third-party

You can safely follow the upgrade prompts, sticking to the default responses. When asked to reboot, restart the machine. When it reboots, double-check the Ubuntu version with lsb_release -a. The codename should now be "jammy."

Upgrading MAAS 2.8-- to 3.4

Upgrading from MAAS 2.8 or lower? Proceed with caution; this is untested, so start by completely backing up your MAAS server.

Once that's done, add the PPA (ignore any errors here):

sudo apt-add-repository ppa:maas/3.4

Perform the upgrade, using this command and sticking to default answers:

sudo do-release-upgrade --allow-third-party

Confirm the upgrade using lsb_release -a (look for "22.04" and "Jammy"), and verify the MAAS version as "3.4."

Failed? Restore from your backup and consider a fresh install on separate hardware.

Some installation notes

When installing MAAS on Ubuntu, there can be conflicts between the existing NTP client, systemd-timesyncd, and the NTP client/server provided by MAAS, chrony. This can lead to time synchronization issues, especially if MAAS is configured with different upstream NTP servers than the ones used by systemd-timesyncd. To avoid conflicts, users can manually disable and stop systemd-timesyncd using the following command:

sudo systemctl disable --now systemd-timesyncd

Also note that support for PostgreSQL 12 has been deprecated in MAAS 3.3 and will be discontinued in MAAS 3.5.

Upgrading MAAS when using duplicate IPMI BMC credentials

This note is especially important for upgrading to MAAS 3.3, but may affect other upgrade paths as well.

If your MAAS environment includes multiple machines with identical IPMI BMC IP addresses and usernames but different passwords, please be aware of a potential migration issue when upgrading your MAAS instance.

Background: In MAAS 3.3, a migration script (0290_migrate_node_power_parameters) moves the BMC password from power_parameters to a secure store. A unique database constraint (power_type, md5(power_parameters::text)) that previously allowed for identical BMC IPs and usernames with different passwords now fails because the power_pass field is removed during the migration, causing an upgrade failure.

Steps to prevent upgrade failure:

  1. Pre-upgrade check: Before upgrading, ensure that each BMC IP address and username combination is unique. This is essential as the migration script enforces a unique constraint that may not align with your current setup.

  2. Identify affected machines: Use the MAAS CLI to list all machines and their power parameters. Look for any entries with duplicate BMC IP and username combinations.

  3. Update machine configurations: For any duplicates found, update the BMC details to have unique combinations. This may involve reconfiguring or decommissioning machines as needed.

  4. Proceed with upgrade: Once all BMC details are unique, proceed with the upgrade to MAAS 3.3. Monitor the upgrade process for any errors related to power parameters.

Understanding the unique constraint: The unique constraint was designed to prevent duplicate IPMI IP/Username/Password combinations. However, in practice, this constraint might not cover all scenarios, especially where configurations are automatically generated and share many common values.

Future considerations: The development team is aware of this issue and is considering changes to improve the upgrade process, such as adjusting the unique constraint and improving API/UI level checks. Further updates will be provided in subsequent releases.