Skip to main content

Instalación DevStack

Creo que esta es la instalación por donde podemos comenzar a explorar OpenStack y entender los componentes.

La instalación con DevStack es para ambientes de pruebas. En nuestro proyecto vamos a crear solamente una máquina que será responsable por todos los recursos necesarios. Vamos a utilizar Vagrant con VirtualBox para crear una máquina donde instalaremos OpenStack.

Es necesario tener VirtualBox que será nuestro provisionador y Vagrant que hará las configuraciones de la VM.

sudo apt-get install virtualbox
sudo apt-get install vagrant
vagrant --version
Vagrant 2.4.0

Vamos a levantar una máquina virtual usando Vagrant, y para eso es necesario Vagrant instalado y VirtualBox para ser el provisioner de Vagrant. Es importante observar que mi placa de red por la que estoy recibiendo dirección IP es wlo1, vea la suya con el comando ip addr show.

La máquina que estamos creando será un Ubuntu 22.04 LTS con 10 procesadores, 10GB de RAM y 60GB de HD.

Después de creada, Vagrant accederá a esa máquina vía SSH y ejecutará el script requirements.sh que creará un usuario OpenStack y su home en /opt y descargará el proyecto DevStack en la versión específica estable dentro de esa carpeta.

Después de eso ejecutaremos el start.sh que creará el archivo local.conf con las configuraciones pasadas a DevStack de nuestra preferencia dentro del proyecto clonado y ejecutar el stack.

El proyecto se encuentra en https://gitlab.com/davidpuziol/study-openstack/-/tree/main/environment-devstack

Vagrant.require_version ">= 2.4.0"

Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/jammy64"
config.vm.hostname = "devstack"
# Cambie su interfaz de red
config.vagrant.plugins = "vagrant-disksize"
config.disksize.size = '60GB'
config.vm.network "public_network", bridge: "wlo1"
config.vm.provider "virtualbox" do |vb|
vb.name = "devstack"
vb.memory = 10240
vb.cpus = 10
end
config.vm.provision "shell", path: "requirements.sh"
config.vm.provision "shell", path: "start.sh"
end

Una vez que la máquina levantó vamos a iniciar la instalación ejecutando el script stack.sh que usará las configuraciones de local.conf para instalar OpenStack. Este paso manual no fue colocado en el script start.sh para evitar que hagamos la instalación cada vez que levantemos la máquina.

vagrant ssh
sudo -u stack -i
cd devstack
./stack.sh
...
...
...
This is your host IP address: 10.0.0.249
This is your host IPv6 address: ::1
Horizon is now available at http://10.0.0.249/dashboard
Keystone is serving at http://10.0.0.249/identity/
The default users are: admin and demo
The password: admin

Services are running under systemd unit files.
For more information see:
https://docs.openstack.org/devstack/latest/systemd.html

DevStack Version: 2023.2
Change: b082d3fed3fe05228dabaab31bff592dbbaccbd9 Make multiple attempts to download image 2023-12-12 08:07:39 +0000
OS Version: Ubuntu 22.04 jammy

Para apagar la máquina podríamos hacer el comando vagrant halt y para levantar nuevamente podríamos usar el comando vagrant up --no-provision para no ejecutar los scripts.