Future feature: Dashboard

A better MAAS GUI experience with thousands of nodes

Whilst many MAAS deployments are modest, there is strong growth in large-scale deployments.

  • Thank you for trusting MAAS with your large deployments. We want to hear from users with 100s and 1000s of nodes, about how we can better meet you needs.

  • This industry-shift has been famously characterised as ‘raising cattle’ rather than ‘keeping pets’; this matches our philosophy of bringing a cloud-like experience to metal.

  • The API and CLI are obviously a key way to work at scale, to script your solutions. In addition, the MAAS design team is looking for ideas and feedback on the ‘Dashboard’ concept.

  • Also, do note the performance and stats metrics added in 2.6

Open questions:

  • What new challenges do you face, moving from 100s to 1000s of machines?

  • What kind of high-level summaries do you wish for?

  • What information is easy to miss, or difficult to manage, with a large MAAS?

  • What’s not great with the current GUI for a large MAAS? If we could improve one thing, what would that be?

  • Charts and graphs: what information-visualisations do you find useful? You might have examples from other products, or other domains that you would like to see in MAAS.

All feedback welcome.


Here’s an idea:

When dealing with KVM pods and Virsh machines, from the machines tab it would be nice to see the relationship between the physical nodes and the children.

     | - VM01
     | - VM02

I find that tracking down which pod a virtual machine physically lives in is a little weird, particularly if you have a large mix of Physical machines and Virtual machines.

That said I do find myself doing this when trying to track where my pets live. In the case of true cattle, I’m usually herding those externally with Juju or scripting via CLI.

So would group by: kvm host do it for you?

That’s a really simple idea! It’s perfect!
… this is why I’m not a UX persion :rofl: I would’ve completely over complicated that

@lasseg have a look here

1 Like

I really like the new “group by”.

  • It would be really good if the group listing could be expand or collapsed.
    That would make the listing clearer when you have hundreds of machines.

  • Something that I can see the benefit of is a more developed meta data concept.
    Today we have tag. What if we could have user defined identifiers that you use to further define and track an object. Like site, building, rack, machine type etc. Probably all implementation will have different needs. And that user defined tags can of cause be used in filters and grouping.
    One solution I have seen in other web interfaces with very many objects is a type of configurable “groupings”.
    Like a type of dynamic folders/groups. Or a like a saved filter.

  • It should also be possible to set tags/metadata on multiple machines at once e.g. from a filter search. And the use that tag/metadata as a constraints in juju. It would be really powerful.

  • One challenge vi have today with just a few hundred machines is to actually find the physical HW.
    We have slowed that with defining a HW as the OBM interface. Giving that interface a name that represent the physical placement. ---.domain. e.g. 209-1040-32-79e2f9.obm.domain.
    And then we have a script that can translate MAAS name to HW name and the opposite and also enable the ID-light on the HW.
    So something in MAAS that make it easy to identify HW placement from MAAS. And also finding the MAAS machine from a given HW.


Hi lasseg,

Thanks a lot for your feedback! :slight_smile:

You can expand and collapse the groups by using the PLUS/MINUS at the end of each grouped header:

You can tag multiple machines through the take actions menu, just select all the ones you want > open the drop down for take action and select Tag:


A nice feature would be to be able to search machines by serial number.


I beleive that in order to utilize MaaS at scale of 1000s then definetely it should have complete RBAC and support for external authentication (at least LDAP and probably SAML).

Another nice to have feature would be to integrate MaaS authentication with Juju so as a user could be assigned a number of physical nodes, configure them at his will and utilize them within his juju models.


Wouldn’t it be nice to display system id directly from dashboard ?
It would require one more column but it would make easier to use API calls through Postman on a 2nd window for example.


Hi, I would love to be able to do more with tags filtering. Being more specific, at the moment I cannot fetch machines which have tag_a AND tag_b. The only available option is union of tags. I would love to have intersection, negation etc.

Another nice feature it could be to reveal Juju information inside Juju utilized MaaS machines. Something like a Juju tab where user can find some Juju machine-related information (which machine number has been assigned to Juju, which lxd containers spawned by Juju are running in this machine, which are their IPs, what kubernetes pods are running in case of charmed k8s, etc.)


Totally agree. The ability to track which juju controller+model+unit would be a killer. Vsphere and aws controllers does this automatically so it’s strange why MAAS shouldnt be as friendly. @rick_h @bjornt


Hey skatsaounis,

We do realise it’s not obvious, but have you checked out the documentation for the search function?
I believe you can achieve most of what you’d like already! :slight_smile:


Hi lilyanavidenova,

Thank you for your response. I am aware of it. I can confirm that I can perform most of my desired queries. There is something missing though from the filtering mechanism, or I cannot understand how to achieve it.

How could I perform the following query: “Bring me all the ‘A’ tagged machines which are also ‘B’ tagged” or in other words “all machines with tags=A^B”

I would expect this to work: tags:(=A =B) like OR syntax works: tags:(=A,=B) but it does not.

Best regards,

Hey Stamatis,

I do realise it might be a bit confusing but you can achieve the above query in two ways:

  • Manually search for the two tag values separated by a space, e.g. “tag1 tag2”
  • Remove the brackets around the query and separate the terms by space, e.g. “tags: tag1 tag2”

Both should yield the machines tagged with both tags.

Hope that helps!

Lilyana :slight_smile:

1 Like

awesome! It was really hidden. The other part of my wish-list still remains legit! Juju information and correlation with maas machine inside maas would be very welcomed!


We are returning to this post, exactly as @lasseg describes it, and the problem with “lost” machines in a growing environment is escalating.

Since we are using MAAS also with Juju, the ease of when we deploy new environment blows up this problem even further.

Apart from this, MAAS is a great lift to our environment on which we now run significant HPC workloads within.

1 Like

Are you saying that you have machines out in the wild which are part of juju models that don’t appear in MaaS? I thought I was going crazy where I coulnt find a specific brick in maas, but it was definitely out there in the DC

1 Like