I've had my X1 Carbon running Fedora (25 and 26) for just over four months and I isolate nearly all my development work into containers using LXC. This works great for the most part, especially since OpenStack's Identity service doesn't require any virtualization dependencies. This makes it easy to run keystone inside a container. However, there are a few initiatives we're working on in keystone that require changes across other OpenStack services. For cases like this it'd be nice to setup a full Devstack install. I hit a few bumps in the process and figured it would be good to write down the resolutions.
The Devstack community does supply documentation for running Devstack inside a container, but it did give me some issues. Per the suggestion in the documentation, I used the following file to configure a container:
Creating the container from the configuration file noted in the documentation worked fine. When I attempted to start the container, I got the following error:
From what I could gather, the host appears to be missing a character device for the container to support KVM. I did the following manually, which resulted in the container starting properly:
I hit a second issue while running `stack.sh` that seemed to be related to supporting LVM from within the container.
The documentation highlights limitations with LVM, but it didn't seem to resolve the issue I was seeing. Most of the interactions I need to test with should be handled by cinder's API service. Disabling the cinder schedule and volume services worked around the issue for now.
After that, Devstack finished without any more issues.