Browse code

Always set ALLOWED_HOSTS for horizon

If devstack is deployed in the VM with defined
public IP address (like 192.168.10.6) it is not possible to
access the Horizon from the browser.
This is because DEBUG=True means that ALLOWED_HOSTS, if not set,
is equal to ['localhost', '127.0.0.1', '[::1]'] according
to Django's documentation.

Change-Id: I74ae99569dafa10eee7066713a05fb49183e3fca

Tomasz Trębski authored on 2016/11/14 17:10:57
Showing 1 changed files
... ...
@@ -97,6 +97,11 @@ function configure_horizon {
97 97
     _horizon_config_set $local_settings "" OPENSTACK_API_VERSIONS {\"identity\":3}
98 98
     _horizon_config_set $local_settings "" OPENSTACK_KEYSTONE_URL "\"${KEYSTONE_SERVICE_URI}/v3\""
99 99
 
100
+    # note(trebskit): if HOST_IP points at non-localhost ip address, horizon cannot be accessed
101
+    # from outside the virtual machine. This fixes is meant primarily for local development
102
+    # purpose
103
+    _horizon_config_set $local_settings "" ALLOWED_HOSTS [\"$HOST_IP\"]
104
+
100 105
     if [ -f $SSL_BUNDLE_FILE ]; then
101 106
         _horizon_config_set $local_settings "" OPENSTACK_SSL_CACERT \"${SSL_BUNDLE_FILE}\"
102 107
     fi