DevStack behind proxy

I have now seen some people struggling to get DevStack working behind proxy. Some, thinking it is a bug in DevStack, have actually posted patches for it too! Here, I’ll tell you the simple way to get stack.sh complete succesfully from behind a proxy.

By default, devstack will clone from the ‘actual’ OpenStack git repositories, residing at git://git.openstack.org. Some people might face a problem with it, as DevStack uses git protocol to clone the repo. We’ll instead use HTTP which is provided by GitHub mirror (yes, you heard it right. GitHub is just a ‘mirror’ for OpenStack code, not the primary repository). For this we’ll need to set GIT_BASE in localrc as:

GIT_BASE=http://github.com

Export http and https proxy variables

export http_proxy=<your-http-proxy>
export https_proxy=<your-https-proxy>

Now, you will need to export no_proxy environment variable. This environment variable should contain localhost, as well as the IP your current machine has got. Say your current machine has IP 12.34.56.78:

export no_proxy=127.0.0.1,12.34.56.78

After you have exported these three variables, you’re free to run ./stack.sh, and it should finish successfully.

If you are doing a single-node devstack setup, you don’t need to do anything else and can stop here. If you are doing a multi-node setup, the services running on one node might not communicate properly with services on a different node. In order to fix this, do this: go to individual services running inside screens, stop the service (by pressing CTRL+C), unset the proxy environment variables (unset http_proxy https_proxy no_proxy), and restart the service again (by pressing up arrow and then pressing Enter).

Cheers!

w