On 6/12/24 6:42 AM, Andrea Bolognani wrote:
On Tue, Jun 11, 2024 at 04:23:33PM GMT, richard.schmitt--- via Users
wrote:
> We install libvirt in a AlmaLinux 9 Kickstart file. The version of
> libvirt we are using is 10.0.0.
>
> What we'd like to do is to statically define a network in the
> kickstart file without having to run `virsh net-define`. In other
> words, we had hoped that by installing a <network>.xml file in
> /usr/share/libvirt/networks, that that network would be recognized
> by libvirt the first time the system is booted. This does not
> appear to be the case.
>
> Is there a way to statically define libvirt networks without
> needing to run 'virsh net-define'?
You need to install the file in /etc/libvirt/qemu/networks instead.
If you want the network to be autostarted, you also need to create a
symlink in /etc/libvirt/qemu/networks/autostart that points to the
network XML and has a matching name.
Note that if you do this, you'll need to "preprocess" the .xml file by
net-define'ing it on some system so that all the necessary elements are
there, and then using the resulting xml rather than your original - for
example, each network must have a <uuid> element, but that is usually
filled in automatically when the network is net-defined.
Also, if you do this keep in mind that the fact that these files are
currently in /etc/libvirt/qemu/networks is not a part of libvirt's
public API - it could be changed at any time by an update (although this
has never happened). The same is true for all other .xml files in
/etc/libvirt; only the .conf files are public.