Fedora, Vagrant, Libvirt, and Functional DNS

For my work on OpenShift I wanted a way to use my local workstation as a test cluster with vms for a master and multiple nodes. Ideally it would be possible to quickly teardown and rebuild the whole cluster, but I also want reliable hostnames (and IPs) across each rebuild. This post outlines a way to do this with Fedora (25 as of writing) and Vagrant. The key to getting Fedora configured such that the hostnames and DNS will work is this post by Dominic Cleal.