Best Practice for libvirt bridging? (Post&Vote please)

I’m trying to prototype some server apps and I want to create VMs on fc29 (modular server, and SilverBlue). After mixed results with libvirt-vagrant, I decided to try pure libvirt (4.7.0) and started looking for example scripts out in the wild… Well, there’s a lot of activity in 2015 - 16 and then it gets very quiet. I found the results a confusing hodgepodge of iproute2/brctl/

What if we were to vote up the best solution(s)?

I venture that people here have either:

  • solved this problem,
  • have seen a clean solution,
  • or know someone who evaluates solutions for a living
    and can post links here. Also, if we have activated reputation scores on Discourse, we could have the best solutions voted to the top by experts.

Selfishly, I would like to propose a few criteria for evaluation:

  • Most use of current tools (or: Least use of deprecated tools)
  • Best for Servers
  • Best for Clients
  • Fewest user interfaces

Here are some sources I consulted (ie. the high frequency search results):

Fedora Magazine
AdamW blog
Lukas Zapletal Blog
libvirt wiki
libvirt handbook

My advice is the following for Silverblue 29:

  1. Install gnome-boxes, virt-manager, virt-viewer and virt-install. This will bring in the whole stack. You have to have gnome-boxes or you’ll be missing pieces.
  2. Use the Virtual Machine Manager GUI. GNOME Boxes is a slick “intuitive” interface but Virtual Machine Manager covers all the bases and the details - GNOME Boxes is oriented towards beginners / point-click-and-ship users.

I don’t have any advice for servers; cloud hosting isn’t something I’m willing to build myself when there’s OpenShift Online, AWS, Google Cloud Platform, Azure, etc. etc. etc.


For servers

I have had the most success with Leif Madsen’s Blog which was essentially the nmcli part of the Fedora mag article plus some useful virsh commands.

1 Like

Yeah, I like virsh for scripting.