Esta semana en OpenStack desde Cero, vamos a ver el Dashboard de OpenSatck conocido como Horizon, así de esta forma podemos completar el entorno que venimos montando. Horizon es una interfaz web que permite a los usuarios administrar los servicios que ofrece OpenStack incluyendo Nova, Swift, Keystone.
Al igual que cualquier componente de OpenStack dispone de su propia API, la cual puede ser accecida de forma sencilla, una utilidad que se le puede dar al uso de las API de OpenStack, es la integración con tu propia CMDB, cuando usuarios desplieguen instancias, volumenes, etc. estos datos pueden ser capturados para la integración con la base de datos.
Requisitos para instalar Horizon
Los requisitos para instalar Horizon son:
- Horizon esta basado en django, por lo que necesitamos tener Python 2.6 o 2.7 instalados.
- Disponer de los siguientes componentes de OpenStack instalado y configurados.
- Nova
- Glance
- Keystone
- Neutron
- La sesiones de cache pueden ser almacenadas tanto en base de datos o con Memcache, yo lo haré con este último ya que el acceso es bastante más rapido.
Cómo instalar Horizon
La instalación de Horizon debemos hacerla en el nodo controlador, para realizarla, debemos tener configurado el repositorio de Ubuntu Cloud.
apt-get install openstack-dashboard apache2 libapache2-mod-wsgi memcached python-memcache
También podemos hacerla a través del repositorio de Github:
git clone https://github.com/openstack/horizon.git
Una vez instalado, necesitamos establecer unos parametros iniciarles para poder usar Horizon, para ello vamos a editar el fichero /etc/openstack-dashboard/local_settings.py y vamos a configurar la IP del nodo controlador:
OPENSTACK_HOST = "controller"
Vamos a permitir que los demás hosts puedan acceder a Horizon
ALLOWED_HOSTS = ['*']
Un apartado bastante importante es configurar la cache de sesión
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', } }
Y por ultimo el timezone, voy a indicar España
TIME_ZONE = "ES"
Para terminar con la configuración necesitamos reiniciar los servicios de Apache y Memcache, para validar los cambios
service apache2 restart service memcached restart
De esta forma ya tenemos nuestro Dashboard instalado el cual podemos acceder desde la siguiente URL
http://controller/horizon
Cómo personalizar Horizon
Si eres de los que te gusta customizar los entornos web o bien necesitas hacerlo porque algún cliente te lo solicita, podeís personalizar cualquier aspecto del dashboard, para ellos tenéis que saber que los directorios en los que se encuentran las hojas de estilo y las imágenes son:
/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/ /usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/css/
Os recomiendo que no realices cambios sobre los ficheros originales sino que copies el que necesites cambiary hagas referencia a él en el siguiente fichero:
/usr/share/openstack-dashboard/openstack_dashboard/templates/_stylesheets.html
Por ejemplo si queremos cambiar el logo, debemos subir uno nuevo a la carpeta img y en el fichero _styles.scss establecer el nuevo.
#splash .login { background-image: url(/static/themes/THEME/logo-splash.png); } .topbar { h1.brand a { background-image: url(/static/themes/THEME/logo.png); } }
A demás en el fichero /etc/openstack-dashboard/local_settings.py comentado anteriromente, podemos establecer valores como URL, Oragnización...
Como habéis podido observar, este es el componente de OpenStack más sencillo de instalar y configurar, espero que os haya sido de utilidad y ya podáis administrar OpenStack desde el dashboard.
Servicios de OpenStack
- KeyStone
- Glance
- Neutron (Nodo controlador)
- Neutron (Nodo computo)