Develop build VyOS on LXD

see Task:⚓ T4599 run vyos in lxc/lxd

github: GitHub - jack9603301/vyos-on-lxd: VyOS on LXD

This is a simple, preliminary implementation for building LXD from an ISO of VyOS, if anyone is interested, welcome to discuss

2 Likes

I’m interested but there’s no documentation - what are the dependencies to build it?

I see it uses distrobuilder (standard lxd tool), but vyos.yaml appears to use emerge. Does this mean you have to build under Gentoo? Or is the vyos squashfs image now based on Gentoo rather than Debian?

No, distrobuilder is LXD’s official package tool and can be installed on any distribution

I’m interested but there’s no documentation - what are the dependencies to build it?

Yes, there is no documentation for the time being. VyOS on LXD is built directly from the filesystem.squashfs extracted from the ISO. Although emerge is declared in vyos.yaml, it is not actually used (I only package and not build, because we have a working filesystem)

It is worth noting that running VyOS on LXD requires some preconditions, for example, it cannot run under a virtual network card - a physical passthrough network card must be provided for vyos

This is because the existing design of vyos always reads the ring buffer of the network card during vyos configuration, and the LXC/LXD virtual network card cannot provide the ring buffer

Perhaps it should be removed from the yaml file then, to avoid confusion? Or replaced with an echo command, or at least commented.

Ah, that makes it not very useful for me then. I am interested in setting up virtual networks of VyOS nodes that talk to each other and/or other lxd containers.

Thanks for clarifying.

good suggestion

Ah, that makes it not very useful for me then. I am interested in setting up virtual networks of VyOS nodes that talk to each other and/or other lxd containers.

Thanks for clarifying.

If you use it in a virtual machine, you can directly connect the network card of the virtual machine to lxd, it should work!

Maybe this is a step, if there is a way to make the configuration program of vyos not force read the ring buffer, then maybe it can work on vyos! But need to test to make sure there are no other issues