Upgrade OS version with MAAS

Hi all,

We are using MAAS to deploy VMware ESXi in our HPE servers and everything works fine but we have some issues as well. After deploying OS on the server, we can’t update the OS version with MAAS. When we deploy a newer version of ESXi on the server, MAAS deploys a fresh install on the server and destroys the previous state of the server.

We want to know, technically MAAS is designed just for Deploying OS or it can also update the server.


MaaS is a “deploy only” solution.
It provides bare metal (or VMs) once.
However, it ease a lot the way we recycle machines in our workflows.
I mean, the idea with MaaS is not to upgrade nodes “in place” through MaaS but you could easily evacuate your nodes one by one, remove them and redeploy them from fresh and integrate them in your cluster just like any new other compute node.


great answer @Hybrid512. The idea is to treat machines like infrastructure as code. That means for the most part, from a MAAS perspective, they are immutable. So to upgrade an OS that is already installed, you can do it outside of MAAS, and MAAS won’t mess with it. But if you want MAAS to do it, you need to destroy the machine and redeploy - and the idea is you should use IaaC to rebuild the machine back to where it was (remembering that you can use other tools like ansible or cloud-init user data, or even combinations, to build post-OS install).

There is one new exception coming in 3.2 - we will allow you to upgrade hardware, change disks etc, and MAAS will update its view on the HW inventory, apply tags if things changed, etc, without needing to re-commission.


Yes, I admit, in an ideal world, those machines should be treated as IaC nodes but real life is different though.
Good to hear the “upgrade hardware” feature is coming soon to 3.2 because this is pretty annoying not to be able to keep MaaS aligned with reality sometimes.


Indeed. not the first time we have heard that, so we’re fixing it.


Thanks for all replies