Hi fedora-devel,
This morning I set out to set up a VM for web development for a project I've been
working on so I could access my development environment from multiple locations /
workstations without having to set it up again and again on different systems.
I had a surprisingly difficult time in doing this. The steps I followed, wanting to
interact with the VM via virt-manager [1]:
- Look at Atomic website page, find link for cloud images, try image advertised as libvirt
(was a box image), try to import into virt-manager, fail
(not a bootable image)
- Realize that was a dumb move and try again with raw image. Tried to import into
virt-manager, didn't know I have to decompress manually first. Fail. (not a bootable
image)
- Give up on Fedora base cloud image, try server. 3GB download, takes 30 min to install.
Install concludes with somehow either crashing the hypervisor or disconnecting
virt-manager from the hypervisor.
- Realize how heavyweight server seems and it's not going to be good for something I
really wanted to be lean and clean, esp when seeing stuff like snappy scroll by in the
package install list (nothing against snappy, just not smtg I'd expect in a lean
webdev env)
- Get help in an irc development channel, learn I have to extract the raw image, hurrah,
quick results except! Boot stalls.
- Found out it's cloud-info stalling the boot.
- Yay I have a login prompt! What's the login info? Gahhhh...
- Realize have to run virt-customize --uninstall cloud-init --root-password
password:whatever --selinux-relabel -a theimage
- Success finally (ETA 1.5 hrs not 100% fully attended of course)
Note that:
- I searched the Fedora docs, website, ask Fedora, and did general searches at each point
of failure and didn't find much in the way of guidance. Only in talking to a couple of
knowledegable and helpful folks in real time was I able to get past the fail points.
- Something else to note that's non obvious is setting up virt manager as non-root,
first answer
https://ask.fedoraproject.org/en/question/45805/how-to-use-virt-manager-a...
OK so my questions for you, Fedora development community:
- Is running a lightweight local VM for web development a usecase we want to support? Is
it dare I ask important?
- If so, is what I ended up setting up what we want people in that usecase to do? (E.g.
use Fedora cloud base image, set up in virt-manager or boxes, using virt-customize to
remove cloud-init and configure login password?
If yes to both, I would be happy to help improving docs / websites / etc. to support the
use case as well as filing some RFEs in the tools to make the experience better (e.g., if
virt-manager could recognize a compressed raw image and offer to decompress it or at least
tell user to do so, would be a win, for example.) But if I'm doing something
edge-casey or not meant to be done, obviously that's a wasted effort.
Let me know what you think!
Cheers,
~m
[1] Note I used virt-manager bc other webdevs I know use it and I'm familiar with
using it for connecting to remote hypervisors which was a main thing I wanted to do. Happy
to use Boxes if it allows that since it looks so slick, don't know enough about it to
know if it does!