Preliminares (1)
- Instalamos el paquete (software-properties-common): comando add-apt-repository
- Instalamos paquete ubuntu-cloud-keyring
- Añadimos repositorio OpenStack Kilo de ubuntu
- Actualizamos los respositorios de paquetes
- Instalamos ntp
Preliminares (2)
- 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
- Instalamos el cliente de linea de comandos (OpenStack Client)
Keystone
- Instalamos los paquetes: keystone, python-keystone, python-keystoneclient, python-oslo.db
- Borramos la base de datos sqlite que se crea por defecto
- Copiamos el fichero de configuración: keystone.conf
- Generamos las tablas en la base de datos (db_sync)
- Creamos los datos de keystone (usuarios, roles, tenants, servicios, endpoints, ...).
- Se crean los ficheros de credenciales: admin_openrc_2.0.sh (API 2.0), admin_openrc.sh (API 3.0), demo_openrc.sh
Glance
- Instalamos los paquetes: glance, glance-api, glance-registry, python-glanceclient, glance-common
- Borramos la base de datos sqlite
- Configuramos el servicio: glance-api.conf y glance-registry.conf
- Generamos las tablas en la base de datos (db_sync)
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: nova.conf y nova-consoleproxy
- 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: nova.conf
Neutron
- Instalamos los paquetes: neutron-server, neutron-plugin-ml2, neutron-common, python-neutronclient
- Configuramos el servicio: neutron.conf, ml2_conf.ini
- Generamos las tablas en la base de datos (db_sync)
- Borramos la base de datos sqlite
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-l3-agent, neutron-dhcp-agent
- Configuramos el servicio y los plugins
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 el fichero interface, para que la configuración se inicie de forma automática
Horizon
- Instalamos los paquetes: memcached, apache2, libapache2-mod-wsgi, openstack-dashboard, python-django-horizon
- Configuramos el servicio: local_settings.py
- Activamos los módulos de apache2: wsgi, ssl, rewrite
Cinder
- Instalamos los paquetes: cinder-api, cinder-scheduler, python-cinderclient
- Borramos la base de datos sqlite
- Configuramos el servicio: cinder.conf
- Generamos las tablas en la base de datos (db_sync)
Cinder (Nodo de Almacenamiento)
- Instalamos los paquetes: qemu, cinder-volume, lvm2
- Configuramos lvm: creamos volúmenes fisicos y grupo de volúmenes
- Configuramos el servicio: cinder.conf
Para terminar...
- Creamos usuarios y proyectos de los alumnos
- Subimos alguna imagen
- 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