we have a LARGE maas environment (3 region controllers, Hot standby DB, 22+ rack controllers), 3500+ machines, trying to setup some zero-touch automation that leverages “machines.list()” via python-libmaas and it fails every time with a timeout error with this number of machines (it works in a lab environment but that has only ~40 machines). I suspect this is also the reason why the Web UI is very very slow at loading a large number of machines (2.6->2.9 made it much better, but it’s still pretty terrible with this number of machines (minutes…)).
What we want to see in the API is either:
machines.list() to accept filtering criterial (i.e. status = [NEW]) so that it is far faster (one can hope)
The ability for maas to fire off one or more webhooks on new machine enlistment. i.e. machine auto-enlists, maas fires off a webhook to some arbritrary HTTP(S) endpoint with the machine’s hostname and systemID. This way users can write custom automation to make things “touch less” in a flexible manner.