Setting up the environment for GP4L service provisioning¶
The orchestrated provisioning of L2 circuits in GP4L has been tested in an Ubuntu 22.04 VM with Python 3.10.12.
To run the provisioning you first need to install all of the necessary components following the provided steps.
Step 1. Install Docker and docker-compose
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose
Step 2. Clone and run Maat
git clone https://bitbucket.software.geant.org/scm/ossbss/maat.git
cd maat/docker
sudo docker-compose up -d
Step 3. Install Containerlab
curl -sL https://containerlab.dev/setup | sudo bash -s "setup-sshd"
curl -sL https://containerlab.dev/setup | sudo bash -s "install-gh-cli"
curl -sL https://containerlab.dev/setup | sudo bash -s "install-containerlab"
Step 4. Clone freeRtr-containerlab
git clone https://github.com/rare-freertr/freeRtr-containerlab.git
Step 5. Install Ansible and necessary collections
sudo apt-add-repository ppa:ansible/ansible
sudo apt install ansible
ansible-galaxy collection install ansible.netcommon
Step 6. Install LSO
- Create docker compose
version: "3.7"
services:
lso:
image: lso:latest
network_mode: "host"
environment:
SETTINGS_FILENAME: /app/config.json
ANSIBLE_ROLES_PATH: /app/lso/ansible_roles
volumes:
- /home/ubuntu/lso/config.json:/app/config.json:ro
- /home/ubuntu/.ssh/id_rsa.pub:/root/.ssh/id_rsa.pub:ro
- /home/ubuntu/.ssh/id_rsa:/root/.ssh/id_rsa:ro
- /home/ubuntu/gp4l_service_provisioning/ansible:/app/ansible:ro
In the above compose, /home/ubuntu/gp4l_service_provisioning/ansible corresponds to the directory inside this repo where the ansible playbooks that will be executed by LSO are located.
- Run LSO container
sudo docker-compose up -d
Step 7. Install Airflow
sudo apt install python3-pip
pip install "apache-airflow[celery]==2.10.2" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.2/constraints-3.10.txt"
You are now ready to go to the next step, configuration and setup of the environment.