Saltar al contenido principal

Tu primera build

En este tutorial partes de cero y terminas con una imagen personalizada corriendo. No hace falta hardware para completar el flujo básico.

1. Requisitos

Docker y Python 3.10 o superior.

2. Descargar las imágenes base

docker pull ghcr.io/abelperezr/olt-light:0.0.1
docker pull ghcr.io/abelperezr/olt-proxy:0.0.1

3. Clonar y verificar

git clone https://github.com/abelperezr/olt-light
cd olt-light
./build.sh check

check compila el código Python del overlay y corre las pruebas unitarias. También verifica, como salvaguarda, que nadie haya metido en el árbol directorios que pertenecen a las imágenes base (yang, device-ext, proxy/cap_allow): esos no deben existir en este repo. Los inventarios ONU sintéticos de seeds/ son parte intencional del ejemplo.

4. Construir tu imagen

./build.sh

El resultado es light-olt:dev. El build tarda segundos: solo se copia la capa editable sobre la base, que ya trae todo lo pesado. Puedes cambiar la base y el tag sin tocar archivos:

BASE_IMAGE=ghcr.io/abelperezr/olt-light:0.0.1 \
IMAGE_TAG=ghcr.io/mi-usuario/mi-olt:dev \
./build.sh

5. Iniciar el entorno de ejemplo

El laboratorio de referencia usa containerlab: OLT + proxy NETCONF + un BNG Nokia SR OS (para el BNG necesitas tu propia imagen y licencia; puedes quitar ese nodo si solo quieres la pareja OLT + proxy).

cd examples
containerlab deploy -t lab.clab.yml

Prueba el eCLI:

ssh admin@172.30.30.10          # admin/admin

Altiplano se apunta a la IP del proxy (172.30.30.11 en el ejemplo), puertos 831 en adelante. El detalle de la topología está en Desplegar un laboratorio.

6. Tu primer cambio

Edita cualquier archivo bajo src/ (por ejemplo, el mensaje de bienvenida del eCLI), y repite:

./build.sh check && ./build.sh
containerlab deploy -t examples/lab.clab.yml --reconfigure

Ese es el ciclo completo: editar, verificar, reconstruir, redesplegar.