In this section, we describe how to configure a machine (physical or virtual) to be used as the deployment, execution, and development environment for the ETSI TeraFlowSDN controller. Choose your preferred environment below and follow the instructions provided.
**NOTE**: If you already have a remote physical server fitting the requirements specified in this section feel free to use it instead of deploying a local VM. Check [1.1.1. Physical Server](#1-1-1-physical-server) for further details.
**NOTE**: If you already have a remote physical server fitting the requirements specified in this section feel free to use it instead of deploying a local VM. Check [1.1.1. Physical Server](#111-physical-server) for further details.
Virtualization platforms tested are:
-[Physical Server](#111-physical-server)
-[Oracle Virtual Box](#112-oracle-virtual-box)
-[VMWare Fusion](#1-1-3-vmware-fusion)
-['1.1.4. OpenStack'](#1-1-4-openstack)
-[1.1.5. Vagrant Box](#1-1-5-vagrant-box)
-[OpenStack'](#1-1-4-openstack)
-[Vagrant Box](#1-1-5-vagrant-box)
## 1.1.1. Physical Server
This page describes how to configure a physical server for running ETSI TeraFlowSDN(TFS) controller.
### Server Specifications
#### Minimum Server Specifications for development and basic deployment
** Minimum Server Specifications for development and basic deployment**
- CPU: 4 cores
- RAM: 8 GB
- Disk: 60 GB
- 1 GbE NIC
#### Recommended Server Specifications for development and basic deployment
** Recommended Server Specifications for development and basic deployment**
- CPU: 6 cores
- RAM: 12 GB
- Disk: 80 GB
- 1 GbE NIC
#### Server Specifications for best development and deployment experience
** Server Specifications for best development and deployment experience**
This page describes how to configure a VM for running ETSI TeraFlowSDN(TFS) controller using [Oracle VirtualBox](https://www.virtualbox.org/). It has been tested with VirtualBox up to version 6.1.40 r154048.
### Create a NAT Network in VirtualBox
In "Oracle VM VirtualBox Manager", Menu "File > Preferences... > Network", create a NAT
network with the following specifications:
|Name |CIDR |DHCP |IPv6 |
|-----------|-----------|--------|--------|
|TFS-NAT-Net|10.0.2.0/24|Disabled|Disabled|
Within the newly created "TFS-NAT-Net" NAT network, configure the following IPv4
forwarding rules:
|Name|Protocol|Host IP |Host Port|Guest IP |Guest Port|
__Note__: IP address 10.0.2.10 is the one that will be assigned to the VM.
### Create VM in VirtualBox:
- Name: TFS-VM
- Type/Version: Linux / Ubuntu (64-bit)
- CPU (*): 4 vCPUs @ 100% execution capacity
- RAM: 8 GB
- Disk: 60 GB, Virtual Disk Image (VDI), Dynamically allocated
- Optical Drive ISO Image: "ubuntu-22.04.X-live-server-amd64.iso"
- Download the latest Long Term Support (LTS) version of the *Ubuntu Server* image from [Ubuntu 22.04 LTS](https://releases.ubuntu.com/22.04/), e.g., "ubuntu-22.04.X-live-server-amd64.iso".
- __Note__: use Ubuntu Server image instead of Ubuntu Desktop to create a lightweight VM.