How to compose VMs with vlans using MaaS CLI ?


I’m fedup composing machines “by hand” using the MaaS UI because it is way too slow when you want to compose 10 VMs with exactly the same specs.
I know Juju can dynamically create machines based on constraints but doing this way, you can’t have finer indepth regarding network or machines specs.

So I tried with the MaaS CLI and ended up with something like this :

maas <PROFILE> vm-host compose <VM_HOST_ID> \
    cores=4 memory=16384 \
    storage=mylabel:50(default) \
    interfaces=ens4:space=SPACE-PXE \

This works well when creating a 4 vCPUs/16GB RAM/50GB disk and 1 interface plugged on the provisionning network.
But now, I’d like to add a few vlans on this interface.
I can do it very easily through the MaaS UI but I didn’t find a way to do it the CLI way.

Can somebody help me on this ?

Best regards.

interfaces is a list, so you can specify many of them in that one compose command

@sparkiegeek Thanks for the information but do you have an example ?
Because I tried many things without results and I don’t find a valuable answer in the documentation.

Let’s say that you have an interface called “ens4” on top of which you want to declare 2 vlans (vlan1, vlan2) with their corresponding subnet and autoassign an IP for vlan1 and defining a static IP for vlan2.
How would you do that ?