Openstack Lessons Learned
I have been wanting to go a little deeper with OpenStack - with a bit of time on my hands, I decided to deploy something from scratch on a DL380G6 that's been sitting in my basement.
I decided to start with DevStack and installed Ubuntu 18.04 (Bionic Beaver), cloned the git repo, collected a shrubbery, configured my local.conf and ran ./stack .
I was then able to import an image and launch my first instance. I modified the image, took a snapshot and tried to export the volume.
Lesson #1: The official documentation does not replace experience and DevStack may not be configured to let you do practical things... DevStack's default config did not include the cinder-backup service and there seems to be no way to export a volume from a snapshot without it.
If you knew this in advance, you can include in your local.conf:
ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch,c-bak
As so that you can use cinder-backup to backup your fixed cloud image
Lesson #2: Don't try to install any part of OpenStack independently of DevStack on the same system. If you do, you might find that apt will satisfy DevStack's python library dependencies of some components in DevStack using python2, but then DevStack needs those libraries for python3... and devstack will fail build them and run.
Lesson #3: DevStack might not be right for your intent. Maybe you might want to use Conjure-up Juju or to do it all manually. Juju is magic...