MAAS UI: Machine Logs, LXD projects, Self-driven snap upgrade

Machine logs

We have been implementing some improvements to the event logs in MAAS. Knowing why something has gone wrong is an important part of managing machines. During the discovery phase, we’ve learned that most MAAS users clicked on the wrong tab when they tried to debug MAAS. They clicked on the Logs tab when what they are trying to achieve is to see information in the Events tab. To reduce that cognitive evaluation and discontinuity, we want our users to achieve their goals efficiently.

So far we’ve improved the navigation and display of event logs and the installation output.

We also added a pagination to show 25 logs by default and allow people to expand their log screens as they like.

LXD projects

We’re continuing to implement the changes to LXD KVM pages. There is now a project tab for LXD KVMs that displays the VMs in a project and the hardware details for the project and the VMs inside it.

When a LXD project is added to MAAS or created in MAAS, it will be grouped by the LXD address that it belongs to. The purpose of this feature is for MAAS to not take control of the entire LXD server, but to manage only projects that MAAS has permission to.

Self-driven snap upgrade

In this 2 weeks iteration, MAAS is also focusing on the UX of our new feature - Self-driven snap upgrade. When MAAS is installed via snap and a newer release is pushed into the snap stream, MAAS will automatically upgrade it’s version. A lot of times this is not the most ideal scenario for a production environment. So the main purpose of this feature is to help MAAS administrators take control of the upgrade process if they have a snap package format in their environment.

We created a very quick prototype of how this feature would work in the UI and tested out with 8 people. Three from Snapd team, 2 from field engineering, 2 avid users of MAAS at canonical and special thanks to @dandruczyk for testing this very early prototype with us. The focus values of this research is error tolerant and security. We want our users to feel that they can trust the UI to upgrade MAAS and that the UI has ways to prevent errors from happening, while also helping them recover from any mistakes that they made.

As a result, we found several gaps in the prototype and our assumptions, which are definitely very helpful for our next design iteration. We discovered that people feel secure when there is a presence of information and that their expectations are communicated properly. When people are working with the unknown, they feel hesitant to click on something that might break. The ability to review and approve of what will happen construes the value of trust.

Below is one of the screenshots from our prototype.