0% encontró este documento útil (0 votos)
77 vistas8 páginas

Guía de Configuración de DevStack en Ubuntu

Devstack es una herramienta para instalar OpenStack de forma rápida en entornos de prueba. La configuración se realiza en el archivo local.conf. Lo mínimo que se debe configurar son los passwords y las direcciones IP/redes. Devstack instala OpenStack en el directorio por defecto /opt/stack. Se puede comprobar el estado mediante "systemctl status devstack". Es importante habilitar KVM anidado para un correcto funcionamiento.

Cargado por

Jose Napoli
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
77 vistas8 páginas

Guía de Configuración de DevStack en Ubuntu

Devstack es una herramienta para instalar OpenStack de forma rápida en entornos de prueba. La configuración se realiza en el archivo local.conf. Lo mínimo que se debe configurar son los passwords y las direcciones IP/redes. Devstack instala OpenStack en el directorio por defecto /opt/stack. Se puede comprobar el estado mediante "systemctl status devstack". Es importante habilitar KVM anidado para un correcto funcionamiento.

Cargado por

Jose Napoli
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Índice

Introducción 2

Configuración 2

Archivo openrc 3

Configuración mínima 3

Servicios de repositorios 4

Directorio de instalación: 5

Loggs: 5

Base de datos 5

Virtual environments: 6

Instalación limpia: 6
Introducción
Devstack es un paquete de instalación -de descarga directa y rápida- para pruebas de
laboratorio y escenarios de pruebas.
Está pensado para funcionar en Ubuntu, y jamás se lo recomendaría para hacer un uso de
producción.
Cuenta con muchos scripts de ejemplos.
El objetivo es una comprensión más profunda de OpenStack a través de los ejemplos
provistos por el mismo DevStack.

Configuración
La configuración se realiza a través del archivo [Link]; en contraposición con PackStack
que utiliza el archivo [Link] para lo mismo. PackStack se usa en CentOS…

Este archivo se encuentra en /opt/stack/devstack/[Link].

La cabecera (primera línea del archivo) es como sigue:

'[[' <phase> '|' <config-file-name> ']]'

Donde <phase> está definido en [Link], en al parte de Global Settings, <config-file-


name> es el EL ARCHIVO DEFECTO QUE SERÁ MODIFICADO.

The defined phases are:


● local - extracts localrc from [Link] before stackrc is sourced
● post-config - runs after the layer 2 services are configured and before they are started
● extra - runs after services are started and before any files in extra.d are executed
● post-extra - runs after files in extra.d are executed

Es importante aclarar que se sigue una secuencia en la lectura de este archivo. Solo tiene
valor lo último que se lea sobre alguna configuración si es que hay información duplicada.

Dentro de la carpeta samples hay un archivo [Link] de ejemplo que puede ser de gran
utilidad.

La configuración de este archivo, luego se hará source (o será levantada ) con stackrc, de
modo que borra cualquier configuración previa que hubiera en stackrc.

Si se usa [[local|localrc]] todas las configuraciones que se realicen serán contenidas


SOLO EN ESTE ARCHIVO (se evita la complejidad de usar más de un archivo de config).
Archivo openrc
Es para la configuración y logueo de credenciales para que sea accesible por líneas de
comandos (recordar que si no, solo se pudiera acceder a los distintos tenants por la GUI).
openrc lo que hace es hacer source de stackrc para tomar la HOST_IP y/o
SERVICE_HOST.

Algunas cosas importantes en este archivo son:


➔ OS_PROJECT_NAME=demo: Recordar que keystone llama proyecto a cada tenant
(aunque actualmente se llama proyecto).
➔ OS_USERNAME=demo: Es la entrada del usuario.
➔ OS_PASSWORD=secret: Se explica por si mismo.
➔ HOST_IP, SERVICE_HOST: En general el HOST_IP se suele definir en la sección
localrc. Se suele poner el mismo valor para HOST_IP y SERVICE_HOST.
➔ OS_AUTH_URL: Es para la autenticación contra OpenStack usando Keystone, que
devuelve un Token y Service Catalog
➔ KEYSTONECLIENT_DEBUG, NOVACLIENTE_DEBUG: es para poner la CLI en
modo de LOG. Están comentadas por defecto:

# export KEYSTONECLIENT_DEBUG=1
# export NOVACLIENT_DEBUG=1

Configuración mínima
Devstack puede correr sin tener configurado una sección de localrc en el archivo [Link]
(de hecho así se hizo con las primeras pruebas), conviene settear algunas variables

● no logging
● pre-set the passwords to prevent interactive prompts
● move network ranges away from the local network ( IPV4_ADDRS_SAFE_TO_USE and
FLOATING_RANGE, commented out below)
● set the host IP if detection is unreliable (HOST_IP, commented out below)
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
#IPV4_ADDRS_SAFE_TO_USE=[Link]/24
#FLOATING_RANGE=[Link]/25
#HOST_IP=[Link]

If the *_PASSWORD variables are not set here you will be prompted to enter values for them by
[Link].

The network ranges must not overlap with any networks in use on the host. Es decir que
tengamos cuidado con el rango de IPs que configuramos.
HOST_IP is normally detected on the first run of [Link] but often is indeterminate on later runs
due to the IP being moved from an Ethernet interface to a bridge on the host. Setting it here also
makes it available for openrc to set OS_AUTH_URL. HOST_IP is not set by default.
HOST_IPV6 is normally detected on the first run of [Link] but will not be set if there is no IPv6
address on the default Ethernet interface. Setting it here also makes it available for openrc to set
OS_AUTH_URL. HOST_IPV6 is not set by default.

El archivo de instalación [Link] puede ser ejecutado sin la necesidad de tener creado un
archivo de configuración [Link]. Pero sin embargo, es recomendable que sí sea
configurado este archivo:

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
#IPV4_ADDRS_SAFE_TO_USE=[Link]/24
#FLOATING_RANGE=[Link]/25
#HOST_IP=[Link]

*Si no se ingresan los passwords en el archivo, los pide (mediante CLI) el programa
[Link]
La dirección HOST_IP es prescindible y en gral se detecta de manera automática a la
primer corrida de [Link].

Servicios de repositorios
El uso de repositorios en Git en para cada módulo de openstack y se configura a través de
un par de comandos.
XXX_REPO apunta al repositorio y XXX_BRANCH selecciona donde debe chequear.
GIT_BASE apunta al primer server de repositorio.

Ej:
NOVA_REPO=$GIT_BASE/openstack/[Link]
NOVA_BRANCH=master
Directorio de instalación:
¿Dónde se instala openstack? Pues lo hace según la variable DES=[directorio..]. Por
defecto es en /opt/stack. Esta configuración se encuentra en el archivo [Link], que es el
primer script que se ejecuta para la instalación de la plataforma.

Loggs:
La salida de [Link] se escribe, por defecto, en la consola donde corre. Aunque se puede
enviar a un archivo para seleccionar los logs.

LOGFILE=$DEST/logs/[Link]

Para seleccionar los logs cada cuanto serán borrados, se configura la siguiente línea:

LOGDAYS=1

Estas configs se hacen en el archivo [Link].

Ejemplo:
[[local|localrc]]
DEST=/opt/stack/
LOGFILE=$LOGDIR/[Link]
LOG_COLOR=False //para deshabilitar los colores mientras instala.

Base de datos
En el mismo archivo, mediante las líneas:
disable_service mysql
enable_service postgresql

Por defecto están líneas no se definen y stack elige a mysql como base de datos por
defecto.

Virtual enviroments:
Para habilitar los venvs se usa la siguiente línea:
PROJECT_VENV["glance"]=${GLANCE_DIR}.venv

Esto habilita la creación para cada proyecto definido.


Instalación limpia:
Por defecto, la instalación [Link] clona los repositorios en el destino de instalación. Se
puede usar la siguiente línea para que cada vez que se instale lo haga de manera limpia
borrando todos los repos anteriores:
RECLONE=yes

IP version:
IP_VERSION=4+6

Para la configuración en dual-stack.

Además para IPv6:


IPV6_RA_MODE=slaac
IPV6_ADDRESS_MODE=slaac
IPV6_ADDRS_SAFE_TO_USE=fd$IPV6_GLOBAL_ID::/56
IPV6_PRIVATE_NETWORK_GATEWAY=fd$IPV6_GLOBAL_ID::1

También se puede configurar una IPv6 default:

HOST_IPV6=${some_local_ipv6_address}

PROYECTOS

Swift:
Está deshabilitado por defecto, para habilitar:

enable_service s-proxy s-object s-container s-account

Para instalar solo Swift -y Keystone que tiene que estar siempre-, se debe configurar lo
siguiente en [Link]:

disable_all_services
enable_service key mysql s-proxy s-object s-container s-account

If you only want to do some testing of a real normal swift cluster with multiple replicas you can
do so by customizing the variableSWIFT_REPLICAS in your localrc section (usually to 3).

SWIFT_STORAGE_IPS="[Link] [Link] [Link]"

Uso de celdas (Cells):

Es una alternativa para escalabilidad. Se debe agregar la siguiente línea:


enable_service n-cell

Cinder:
The logical volume group used to hold the Cinder-managed volumes is set by
VOLUME_GROUP_NAME, the logical volume name prefix is set with VOLUME_NAME_PREFIX and the
size of the volume backing file is set with VOLUME_BACKING_FILE_SIZE.
VOLUME_GROUP_NAME="stack-volumes"
VOLUME_NAME_PREFIX="volume-"
VOLUME_BACKING_FILE_SIZE=10250M

Ejemplo de multi-region:

We want to setup two devstack (RegionOne and RegionTwo) with shared keystone (same users
and services) and horizon. Keystone and Horizon will be located in RegionOne.
In RegionOne:
REGION_NAME=RegionOne

In RegionTwo:
disable_service horizon
KEYSTONE_SERVICE_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
KEYSTONE_AUTH_HOST=<KEYSTONE_IP_ADDRESS_FROM_REGION_ONE>
REGION_NAME=RegionTwo
KEYSTONE_REGION_NAME=RegionOne

In the devstack for RegionOne, we set REGION_NAME as RegionOne, so region of the services
started in this devstack are registered as RegionOne.
In devstack for RegionTwo, similarly, we set REGION_NAME as RegionTwo since we want
services started in this devstack to be registered in RegionTwo. But Keystone service is started
and registered in RegionOne, not RegionTwo, so we use KEYSTONE_REGION_NAME to specify
the region of Keystone service. KEYSTONE_REGION_NAME has a default value the same as
REGION_NAME thus we omit it in the configuration of RegionOne.

Una vez configurado -mínimamente- a devstack, ¿qué podemos hacer?

Status:
Mediante la línea:
sudo systemctl status devstack@[argumento].

Hay muchas opciones y cosas para ver.

Uso de KVM
Es fundamental para un correcto funcionamiento de OpenStack.
Comprobar que Nested KVM esté habilitado:
cat /sys/module/kvm_intel/parameters/nested
Y //esperamos un Yes como respuesta

Esto anterior es para máquinas Intel.

Importante:

Las versiones previas de OpenStack usaban el archivo localrc en reemplazo del actual
[Link].
El archivo stackrc es el que tiene la configuración, y la va a buscar a [Link] para ver que
tiene en el usuario localrc.

También podría gustarte