Escenario de instalación
- Vamos a usar vagrant para crear una máquina virtual con sistema operativo Debian Jessie, con las siguientes características:
- Dos tarjetas de red: una interna y una externa (bridge)
- 3 Gib de RAM
- Un disco secundario
- https://github.com/iesgn/openstack-debian-ansible
Preliminares
- Actualizamos los respositorios de paquetes
- Instalamos ntp
- Instalamos mysql
- Creamos un usuario y una base de datos por cada uno de los componentes de OpenStack que vamos a instalar (keystone, glance, nova, neutron, ...)
- Instalamos rabbitmq
Keystone
- Instalamos los paquetes: keystone, python-keystone, python-keystoneclient
- Borramos la base de datos sqlite, el catálogo lo vamos a guardar en mysql
- Copiamos el fichero de configuración
- Generamos las tablas en la base de datos (db_sync)
- Creamos los datos de keystone (usuarios, roles, tenants, servicios, endpoints, ...).
Glance
- Instalamos los paquetes: glance, glance-api, glance-registry, python-glanceclient
- Borramos la base de datos sqlite
- Configuramos el servicio
- Generamos las tablas en la base de datos (db_sync)
- Subimos una imagen CirrOs
Nova
- Instalamos los paquetes: nova-api, nova-cert, nova-conductor, nova-consoleauth, nova-scheduler, python-novaclient, nova-consoleproxy
- Borramos la base de datos sqlite
- Configuramos el servicio
- Generamos las tablas en la base de datos (db_sync)
Nova (en los nodos de computación)
- Si el nodo de computación tiene soporte de virtualización hardware (nova-compute-kvm), si no (nova-compute-qemu)
- Instalamos python-guestfs, para gestionar y montar las imágenes.
- Borramos la base de datos sqlite
- Configuramos el servicio
Neutron
- Instalamos los paquetes: neutron-server, neutron-plugin-ml2
- Configuramos el servicio
- Generamos las tablas en la base de datos (db_sync)
Neutron Agents y Plugins (Nodo de Red)
- Configuración de sysctl (ip_forward, etc.)
- Instalamos los paquetes:neutron-plugin-ml2, neutron-plugin-openvswitch-agent, neutron-metadata-agent, neutron-lbaas-agent, neutron-l3-agent, neutron-dhcp-agent
- Configuramos el servicio y los plugins
- l3
- dhcp
- lbaas
- metadata
- ml2
Openvswitch (Nodo de Red)
- Configuración de los bridge; br-ext, br-int
- Conectamos la interfaz externa al br-ext
- Configuramos los parámetros de red de br-ext
- Modificamos el script de inicio para openvswitch
- Generamos las tablas en la base de datos (db_sync)
Horizon
- Instalamos los paquetes: memcached, apache2, libapache2-mod-wsgi, openstack-dashboard
- Configuramos el servicio
- Activamos el soporte https
Cinder
- Instalamos los paquetes: cinder-api, cinder-scheduler
- Borramos la base de datos sqlite
- Configuramos el servicio
- Generamos las tablas en la base de datos (db_sync)
Cinder (Nodo de Almacenamiento)
- Instalamos los paquetes: cinder-volume, lvm2
- Configuramos lvm: creamos volúmenes fisicos y grupo de volúmenes
- Configuramos el servicio
Para terminar...
- Configurar la red: red pública, router y red interna de algún proyecto
- Podemos crear algún sabor con características mínimas
- Hacemos las pruebas