-
Lluis Gifre Renom authored
- moved old deployment scripts to scripts/old - added NGINX-based ingress controller to expose http-based endpoints from a single connection point - adapted webui K8s manifest to be used with the ingress controller - improved install_requirements.sh (renamed from install_development_dependencies.sh) to prevent collision of package versions - adapted script to show deployment - created functional example settings script my_deploy.sh - created improved deploy.sh script - added first version of the deployment tutorial. Run Experiments and Development are work in progress.
Lluis Gifre Renom authored- moved old deployment scripts to scripts/old - added NGINX-based ingress controller to expose http-based endpoints from a single connection point - adapted webui K8s manifest to be used with the ingress controller - improved install_requirements.sh (renamed from install_development_dependencies.sh) to prevent collision of package versions - adapted script to show deployment - created functional example settings script my_deploy.sh - created improved deploy.sh script - added first version of the deployment tutorial. Run Experiments and Development are work in progress.
- 2.1. Configure Python Environment
- 2.1.1. Upgrade the Ubuntu distribution
- 2.1.2. Install PyEnv dependencies in the VM
- 2.1.3. Install PyEnv
- 2.1.4. Restart the VM
- 2.1.5. Install Python 3.9 over PyEnv
- 2.1.6. Create the Virtual Environment for TeraFlowSDN
- 2.1.7. Install the basic Python packages within the virtual environment
2.1. Configure Python Environment
This section describes how to configure the Python environment to run experiments and develop code for the ETSI TeraFlowSDN controller. In particular, we use PyEnv to install the appropriate version of Python and manage the virtual environments.
2.1.1. Upgrade the Ubuntu distribution
Skip this step if you already did it during the creation of the VM.
sudo apt-get update -y
sudo apt-get dist-upgrade -y
2.1.2. Install PyEnv dependencies in the VM
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget \
curl llvm git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
2.1.3. Install PyEnv
curl https://pyenv.run | bash
# When finished, edit ~/.bash_profile // ~/.profile // ~/.bashrc as the installer proposes.
# In general, it means to append the following lines to ~/.bashrc:
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
2.1.4. Restart the VM
Restart the VM for all the changes to take effect.
sudo reboot
2.1.5. Install Python 3.9 over PyEnv
pyenv install 3.9.13
# This command might take some minutes depending on your Internet connection speed and the performance of your VM.
2.1.6. Create the Virtual Environment for TeraFlowSDN
The following commands create a virtual environment named as tfs
using Python v3.9.13 and associate that environment
with the current folder, i.e., ~/tfs-ctrl
. That way, when you are in that folder, the associated virtual environment
will be used, thus inheriting the Python interpreter, i.e., Python v3.9.13, and the Python packages installed on it.
cd ~/tfs-ctrl
pyenv virtualenv 3.9.13 tfs
pyenv local 3.9.13/envs/tfs
After completing these commands, you should see in your prompt that now you're within the virtual environment
3.9.13/envs/tfs
on folder ~/tfs-ctrl
:
(3.9.13/envs/tfs) tfs@tfs-vm:~/tfs-ctrl$
2.1.7. Install the basic Python packages within the virtual environment
From within the 3.9.13/envs/tfs
environment on folder ~/tfs-ctrl
, run the following commands to install the basic
Python packages required to work with TeraFlowSDN.
cd ~/tfs-ctrl
./install_requirements.sh