MAAS UI: bi-weekly update #8

KVM List page in React

Our KVM page is halfway through the ReactJS transition. We just completed our QA both in Design and UI in our KVM listing page. Aside from that our graphs are more simplified and should work in responsive views. The KVM details page is on its way to QA and should be completed soon!


On the UX side of our iteration, we continue the quest to understand problems with the existing CLI in MAAS. We are also hopeful that we can create a more aligning structure for the CLI across products.

In this iteration, MAAS UX and Snapcraft UX had a sync and immerse ourselves in the CLI experience to align the underlying problems in our CLIs across products and created an initial guideline for the CLI input structure and output structure. We are still working on it and gathering feedback from the team to figure out different states of our outputs, such as empty state, incomplete state, tone of voice, and more states to find out.

Our goal is to make MAAS CLI simpler and more human readable.

SR-IOV and NUMA aware VMs

NUMA aware VMs have been our focus for quite some time. We want our users to be able to deploy high-performance workloads on KVM hosts. This includes aligning the VMs to a single NUMA node, as well as using SR-IOV to improve networking throughput and latency.

In this iteration we have gone through a few UX design stages to simplify and visualise the connection between NUMA nodes and machines, as well as providing a way to incorporate hugepage memory into the virtual memory for better performance.

We have explored a few versions of design options as below:

The first design focuses on the ability to show different sections of the virtual memory when they are split into general purposes and hugepages.

Our second design focuses on scalability and the ability to to add more hugepage memory of different page sizes in the future. Our third design focuses on responsiveness of our UI by breaking down the virtual memory into a donut chart and combining information in a card form.

Finally, we establish the connection between NUMA node and machines within the summary view:

In our future work, aside from being able to add multiple hugepage memories into the virtual memory, we also want to make the connection between virtual functions and network interfaces more succinct.