I’ve set up an external lxd server and sought to connect it to MaaS to use as VM Host.
The server has been built and added to MaaS using the trust certificate that MaaS generated.
One host is now available, however, I cannot create a new VM. When doing so, the interfaces section is populated with NAME: default, IP ADDRESS: Created by Hypervisor at compose time.
The [+ Define (optional)] button is also greyed out.
If I attempt to create a VM, the following error is displayed:
Error:
Pod unable to compose machine: Unable to compose machine because: Failed talking to pod: No host network to attach VM interfaces to
I notice that since adding the host, I now have a new device showing up under the Machines tab. I’ve reviewed the config of this device in MaaS, and under network it has 3x interfaces - none of which can be modified “unless the machine is New, Ready, Allocated or Broken”:
enp6s18 (physical) - fabric is set to my infrastructure subnet
lxdbr0 (bridge) - fabric is one MaaS created, and looks to be the internal network for the LXD host
lxdbr0:1 (alias) - fabric is internal ipv6 for the LXD host
On the external host, I have an lxc profile named “default” which defines this bridge on the eth0 device. I had thought all I needed to see was lxdbr0 on the host and MaaS would use this profile when it connected.
I’m fairly new to the lxd world, so figure I might have missed a small step here somewhere… although I’m unsure if it a MaaS issue or a lxd host issue. Any ideas would be greatly appreciated.
Hey @scottblackburn !
Can I ask you what version of MAAS are you using and what’s the exact process that you followed for adding the LXD host?
Hello alemar99
The process used was as per the documentation here: https://maas.io/docs/how-to-set-up-external-lxd
… the only difference being that I set up a 3x disk zfs pool rather than have the init process create one.
Since posting this, the lxd host has since worked. What changed? It all seems to be tied to the network configuration. I’m having a dreadful time with maas to be honest. I had thought all I would need to do is pxe boot directly to the host, and all would be well. Unfortunately, maas has other ideas.
I’ve since tried to untether services such as dhcp and dns from the pre-existing network and let maas handle it just to make life easier, but all it does it create more problems.
This initial change is what enabled the lxd host to work I dare say. Probably maas dns, which when I let it handle it, found everything it needed to (I had previously had DNS sync issues between existing services and maas dns).
The problem I have now is that I have two isolated networks for machine deployments, and maas dhcp has decided to set the primary nameserver for each of them to a server they can’t reach (yeah - that wasn’t a problem when I used my own stuff!). I have no idea how to fix this atm, probably something I need to change in netplan, but geeez, I don’t think maas will be a the deployment solution I need any time soon
Hey @scottblackburn
Sorry you’re having trouble there.
To help me understand the problem better, can I ask you to provide the network configuration of your setup?
Also I’ve noticed that the docs section on external LXD could be a little bit clearer, we’ll try to improve them!