I'm trying to set up a group of VM's using MAAS with vagrant and virtualbox using a host only network shared between the VMs. I'm trying to get the node VMs to use PXE to install the operating system. I've got the node VMs to start PXE booting by setting up DHCP on the controller VM and forcing the node VM to boot from the second nic. The installation gets part of the way through before stopping when cloud-init tries to download the config. My Vagrant file is at https://gist.github.com/pj/3db0fe2e87cf35d4f6ffb37a5b5b8bb6.
As far as I can tell, MAAS is delivering the address to cloud-init through the cloud-config-url boot parameter. From looking at the output when the PXE node tries to boot I can see that the address being delivered contains the ip address of the NAT nic that Vagrant automatically creates for VMs, not the ip address of the host-only network which was used for DHCP and to deliver the PXE boot files.
Is there a way to change the ip of the cloud-config-url boot parameter? In the MAAS source it seems like this is derived from some part of the RackController config, but I couldn't trace where it was set from.
Okay figured it out, I needed to set the url for the rack and region controller using the following commands: