I first installed OpenStack via DevStack months ago. I honestly forgot how frustrating it can be.
I followed the official docs and an article from DigitalOcean.
I'll summarize the main steps so that we can focus on debugging. Note that you need a fresh Ubuntu install for DevStack to work.
Main steps
- Install Linux
- Add Stack User
- Download DevStack
- Create a local.conf file
- Start the install
- Access OpenStack on a web browser
Usually, these steps should work seamlessly.
However, with subsequent installs, things may not go as expected.
Debugging options
There are some things you could try first:
- Doing a fresh Ubuntu install and then repeating the above mentioned main steps
- Running a most recent stable branch of devstack, not master.
- Running './unstack.sh' and then './clean.sh'
- Cleaning your 'opt/stack' directory
- Running './stack.sh' again using the stable branch of devstack
Checking your errors
At this point in time, you have tried all the recommended debugging options and are convinced that there is a devstack bug somewhere.
There are a few workarounds depending on the errors you get, as well as a few changes to the local.conf file.
My errors
As you can see, I was getting a 'devstack@etcd.service' error. Stack overflow gave me the first workaround. I added 'disable_service etcd3' to my local.conf file and run 'stack.sh' again.
This cleared the 'devstack@etcd.service' error but introduced a 'keystone did not start' error.
After spending hours and hours down rabbit holes, after a brainstorming session with a friend, we suspected that the IP address could be the problem.
I had set my HOST_IP as my computer's IP address. I was reinstalling DevStack using a different network and there was a possibility that it could be picking the wrong IP address.
Initially, I tried to include my ISP's router IP address, but it didn't help.
Home run
I eventually changed my HOST_IP to 127.0.0.1 and passed it to the SERVICE_HOST.
I also added enabled Horizon in my local.conf 'ENABLED_SERVICES+=,horizon'
I then rerun 'stack.sh' and everything worked!!!!
Final thoughts
Debugging DevStack can be challenging. What are the bugs you've encountered? Feel free to share in the comments.