MicroStack configurability

I’d love to be able to use MicroStack with LXC containers and Ceph object storage as the storage back end.

Is this at all possible?

That’s a good question (and a very interesting idea!). Any thoughts from @openstack-charmers?

It would be great if MicroStack would support other hypervisors through libvirt integration - then if it’d be able to connect to e.g. lxc installed on the host running MicroStack, it should be possible to configure it to do so even if that’s not the primary target for MicroStack directly. Am I right?

There is currently work going on to enable strict confinement for the MicroStack snap to make it less prone to conflicts with the underlying system.

As a part of that Cinder will come with a proper default configuration to run the API and scheduler services (currently it is not the case and it fails to run because of the lack of config which can be introduced manually). Using Ceph would be possible by supplying a backend config into the drop-in directory /var/snap/microstack/common/etc/cinder/cinder.conf.d and restarting the snap.microstack.cinder-volume service.

Using LXC via the libvirt driver is something to consider, especially since it will require a much more privileged snapd interface. LXD would have been a nicer idea considering nova would have to interact with the daemon on the system without the need for libvirt to spawn lxc processes under itself (and thus being confined with the same profile as MicroStack), however the nova-lxd project is no longer maintained https://opendev.org/x/nova-lxd.

2 Likes

Thank you for your answer Dmitrii!

MicroStack is really an interesting project!

I agree, LXD would’ve been nicer and it’d provide better abstraction overall. I still don’t understand why nova-lxd died as it did. It would’ve been a great addition to both VMs and Docker-like containers on Nova, I think.