16 - Instalar y configurar Horizon en el nodo controlador
En este artículo explicamos de forma sencilla cómo instalar y configurar el panel web Horizon en el nodo controlador (controller01).
Instalar los paquetes necesarios
vagrant@controller01:~$ sudo apt update
vagrant@controller01:~$ sudo apt install -y openstack-dashboard
Editar la configuración principal de Horizon
Edite el archivo /etc/openstack-dashboard/local_settings.py y asegúrese de que contiene las siguientes líneas modificadas o añadidas. Si prefiere editar con vim o nano, use sudo.
vagrant@controller01:~$ sudo nano /etc/openstack-dashboard/local_settings.py
Modifica las siguientes entradas en local_settings.py:
OPENSTACK_HOST = "controller01"
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
'LOCATION': 'controller01:11211',
}
}
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 3,
}
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
Nota: cambie volume: 2 por volume: 3 porque usamos endpoints v3 para Cinder. Si prefiere usar v2, modifique OPENSTACK_API_VERSIONS['volume'] a 2.
Ajustar la configuración de Apache
Edite /etc/apache2/conf-available/openstack-dashboard.conf y añada la línea WSGIApplicationGroup %{GLOBAL} (al final del archivo) para evitar problemas con módulos Python.
WSGIScriptAlias /horizon /usr/share/openstack-dashboard/openstack_dashboard/wsgi.py process-group=horizon
WSGIDaemonProcess horizon user=horizon group=horizon processes=3 threads=10 display-name=%{GROUP}
WSGIProcessGroup horizon
WSGIApplicationGroup %{GLOBAL}
Alias /static /var/lib/openstack-dashboard/static/
Alias /horizon/static /var/lib/openstack-dashboard/static/
<Directory /usr/share/openstack-dashboard/openstack_dashboard>
Require all granted
</Directory>
<Directory /var/lib/openstack-dashboard/static>
Require all granted
</Directory>
Este ajuste evita errores con ciertos módulos Python usados por Horizon.
Recargar la configuración del servidor web
vagrant@controller01:~$ sudo service apache2 reload
Puede que necesites ejecutar esto:
vagrant@controller01:/usr/share/openstack-dashboard$ sudo python3 manage.py compress
Acceder a Horizon
Abra un navegador y visite:
http://controller01/horizon o http://IP_NODO_CONTROLADOR/horizon
Inicia sesión con un usuario creado en Keystone (por ejemplo, admin o un usuario de proyecto). Recuerda que el dominio por defecto es Default.

Una vez dentro, verás el uso de los recursos de computación asignados a tu usuario:

También puedes ver las instancias desplegadas e interactuar con ellas abriendo una consola:


