Kolla has become the primary source of Containers for running OpenStack services. Since if has been a while since I tried deliberately running just the Keystone container, I decided to build the Kolla version from scratch and run it.
UPDATE: Ozz wrote it already, and did it better: http://jaormx.github.io/2017/testing-containerized-openstack-services-with-kolla/
I had an clone of the Kolla repo already, but if you need one, you can get it by cloning
git clone git://git.openstack.org/openstack/kolla
All of the dependencies you need to run the build process are handled by tox. Assuming you can run tox elsewhere, you can use that here, too:
tox -e py35
That will run through all the unit tests. They do not take that long.
To build all of the containers you can active the virtual environment and then use the build tool. That takes quite a while, since there are a lot of containers required to run OpenStack.
$ . .tox/py35/bin/activate (py35) [ayoung@ayoungP40 kolla]$ tools/build.py
If you want to build just the keystone containers….
python tools/build.py keystone
Building this with no base containers cached took me 5 minutes. Delta builds should be much faster.
Once the build is complete, you will have a bunch of container images defined on your system:
|kolla/centos-binary-keystone||7.0.2||69049739bad6||33 minutes ago||800 MB|
|kolla/centos-binary-keystone-fernet||7.0.2||89977265fcbb||33 minutes ago||800 MB|
|kolla/centos-binary-keystone-ssh||7.0.2||4b377e854980||33 minutes ago||819 MB|
|kolla/centos-binary-barbican-keystone-listener||7.0.2||6265d0acff16||33 minutes ago||732 MB|
|kolla/centos-binary-keystone-base||7.0.2||b6d78b9e0769||33 minutes ago||774 MB|
|kolla/centos-binary-barbican-base||7.0.2||ccd7b4ff311f||34 minutes ago||706 MB|
|kolla/centos-binary-openstack-base||7.0.2||38dbb3c57448||34 minutes ago||671 MB|
|kolla/centos-binary-base||7.0.2||177c786e9b01||36 minutes ago||419 MB|
|docker.io/centos||7||1e1148e4cc2c||3 months ago||202 MB|
Note that the build instructions live in the git repo under docs.