This is a feature request for handling network and storage config in a less manual way.
Currently, node configuration is done either via the web GUI, or via the maas CLI.
Whenever there’s a need to expand the datacenter with similarly configured nodes, I face the following two problems:
- extracting the configuration of the “reference” nodes
- implementing said configuration for the additional nodes
The first problem can be solved via the CLI + parsing, but knowing which existing node to use as a reference may be non-trivial: judicious use of tags can help, but since tags are not inherently connected to configurations, there is no way to be sure that all nodes tagged in the same way are indeed configured identically.
Obviously, a human readable config can also be stored elsewhere, but that invalidates the idea of maas as single source of truth.
The solution to the second problem involves creating extra tooling around the CLI, which will probably need to parse a description of the configuration, then compose and execute the CLI commands needed to implement it.
I believe both processes could be greatly simplified by being able to store layouts[*] for both networking and storage configs directly in maas. The layouts could then be applied to (groups of) machines, limiting the need for any external scripting.
[*] I am aware of maas storage layouts, but I believe it is not possible to create new ones