MAAS UI: NUMA nodes and Designing the new CLI

Hi Maasters,

Here is our bi-weekly update.

NUMA node is in QA

This week Alberto from our MAAS Core team showed us more about hugepages, CPU pinning, and other relevant features on our NUMA node. Learn more about it in our MAAS Show and Tell.

Our UI team, on the other hand, had started the QA process for NUMA nodes and hugepages. Below is an image from our QA environment.

Summary of the features:

  • The virtual memory shows a segment for general purposes and hugepage memory.
  • Identify virtual functions and network interfaces associated with that instance.
  • View the instance by NUMA node.
  • Show a summary of allocated CPU cores.
  • Display virtual machines associated with a specific NUMA node

MAAS 2.0 CLI is under review

Last iteration, we talked about the prototype and design of our new CLI concepts. This iteration, our team is looking into the proposed concepts and hopefully we can iterate on them.

Proposed features:

  • Query or address objects by its name. Our current CLI requires a user to provide the ID of the object when interacting in the command prompt. We want to make things easier by allowing the users to address the object name


CLI 1.0

$ maas admin machine read < systemid >

CLI 2.0

$ maas list [MACHINE_NAME]

  • Human friendly outputs and formatting options. Listing outputs are currently displayed in a json format, which is very useful for scripting, but hard to scroll to the relevant information.
  • Help users recover from mistakes. When making typos, we will try to suggest the nearest neighbour. We will also allow regular expressions and partial string inputs.

  • Interactive prompt. It can be hard to figure out which input values are required and what choices are available. We want to use this opportunity to introduce the interactive prompt for users.


  • Allow blocking state. When we work with commands that take longer than others, a user can block the prompt and see what is happening in the background.


  • Concept of primary profile. In addition to the primary object, we also want to allow users to take actions on multiple MAASes at the same time. The primary profile defines your current prompt and users can log in to multiple profiles and take action on multiple profiles using the --profile tag.
  • Meaningful error messages. Debugging stuff in MAAS can be hard and requires experience. We want to provide a helpful error message and next step suggestions to help our users navigate to the logs, events, or syslogs.

We would love to hear feedback from the community about how we can improve the CLI. Your feedback is a gift. Feel free to reach out to us on discourse.

Special thanks to @chrome0 @dvnt @azocolo @vern for your feedback in the previous iteration. We still welcome more feedback to improve our CLI :slight_smile: