@@ -581,39 +605,33 @@ configuring MicroK8s, and deploying and reporting the status of the TeraFlowSDN
controller.</p>
<h1id="11-configure-your-machine">1.1. Configure your Machine</h1>
<p>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.</p>
<p><strong>NOTE</strong>: 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 <ahref="#1-1-1-physical-server">1.1.1. Physical Server</a> for further details.</p>
<p><strong>NOTE</strong>: 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 <ahref="#111-physical-server">1.1.1. Physical Server</a> for further details.</p>
<h4id="minimum-server-specifications-for-development-and-basic-deployment">Minimum Server Specifications for development and basic deployment</h4>
<ul>
<li>CPU: 4 cores</li>
<li>RAM: 8 GB</li>
<li>Disk: 60 GB</li>
<li>1 GbE NIC</li>
</ul>
<h4id="recommended-server-specifications-for-development-and-basic-deployment">Recommended Server Specifications for development and basic deployment</h4>
<ul>
<li>CPU: 6 cores</li>
<li>RAM: 12 GB</li>
<li>Disk: 80 GB</li>
<li>1 GbE NIC</li>
</ul>
<h4id="server-specifications-for-best-development-and-deployment-experience">Server Specifications for best development and deployment experience</h4>
<ul>
<li>CPU: 8 cores</li>
<li>RAM: 32 GB</li>
<li>Disk: 120 GB</li>
<li>1 GbE NIC</li>
</ul>
<p>** Minimum Server Specifications for development and basic deployment **
- CPU: 4 cores
- RAM: 8 GB
- Disk: 60 GB
- 1 GbE NIC</p>
<p>** Recommended Server Specifications for development and basic deployment **
- CPU: 6 cores
- RAM: 12 GB
- Disk: 80 GB
- 1 GbE NIC</p>
<p>** Server Specifications for best development and deployment experience **
- CPU: 8 cores
- RAM: 32 GB
- Disk: 120 GB
- 1 GbE NIC</p>
<p><strong>NOTE</strong>: the specifications listed above are provided as a reference. They depend also on the CPU clock frequency, the RAM memory, the disk technology and speed, etc.</p>
<p>For development purposes, it is recommended to run the VSCode IDE (or the IDE of your choice) in a more powerful server, for instance, the recommended server specifications for development and basic deployment.</p>
<p>Given that TeraFlowSDN follows a micro-services architecture, for the deployment, it might be better to use many clusterized servers with many slower cores than a single server with few highly performant cores.</p>
<p>This page describes how to configure a VM for running ETSI TeraFlowSDN(TFS) controller using <ahref="https://www.virtualbox.org/">Oracle VirtualBox</a>. It has been tested with VirtualBox up to version 6.1.40 r154048.</p>
<h3id="create-a-nat-network-in-virtualbox">Create a NAT Network in VirtualBox</h3>
<p>In "Oracle VM VirtualBox Manager", Menu "File > Preferences... > Network", create a NAT
network with the following specifications:</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>CIDR</th>
<th>DHCP</th>
<th>IPv6</th>
</tr>
</thead>
<tbody>
<tr>
<td>TFS-NAT-Net</td>
<td>10.0.2.0/24</td>
<td>Disabled</td>
<td>Disabled</td>
</tr>
</tbody>
</table>
<p>Within the newly created "TFS-NAT-Net" NAT network, configure the following IPv4
forwarding rules:</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Protocol</th>
<th>Host IP</th>
<th>Host Port</th>
<th>Guest IP</th>
<th>Guest Port</th>
</tr>
</thead>
<tbody>
<tr>
<td>SSH</td>
<td>TCP</td>
<td>127.0.0.1</td>
<td>2200</td>
<td>10.0.2.10</td>
<td>22</td>
</tr>
<tr>
<td>HTTP</td>
<td>TCP</td>
<td>127.0.0.1</td>
<td>8080</td>
<td>10.0.2.10</td>
<td>80</td>
</tr>
</tbody>
</table>
<p><strong>Note</strong>: IP address 10.0.2.10 is the one that will be assigned to the VM.</p>
<h3id="create-vm-in-virtualbox">Create VM in VirtualBox:</h3>
<li>Disk: 60 GB, Virtual Disk Image (VDI), Dynamically allocated</li>
<li>Optical Drive ISO Image: "ubuntu-22.04.X-live-server-amd64.iso"</li>
<li>Download the latest Long Term Support (LTS) version of the <em>Ubuntu Server</em> image from <ahref="https://releases.ubuntu.com/22.04/">Ubuntu 22.04 LTS</a>, e.g., "ubuntu-22.04.X-live-server-amd64.iso".</li>
<li><strong>Note</strong>: use Ubuntu Server image instead of Ubuntu Desktop to create a lightweight VM.</li>
<li>Network Adapter 1 (*): enabled, attached to NAT Network "TFS-NAT-Net"</li>
<li>Minor adjustments (*):</li>
<li>Audio: disabled</li>
<li>Boot order: disable "Floppy"</li>
</ul>
<p><strong>Note</strong>: (*) settings to be editing after the VM is created.</p>
<p>In "Oracle VM VirtualBox Manager", start the VM in normal mode, and follow the
installation procedure.
Below we provide some installation guidelines:
- Installation Language: English
- Autodetect your keyboard
- If asked, select "Ubuntu Server" (do not select "Ubuntu Server (minimized)").
- Configure static network specifications:</p>
<table>
<thead>
<tr>
<th>Interface</th>
<th>IPv4 Method</th>
<th>Subnet</th>
<th>Address</th>
<th>Gateway</th>
<th>Name servers</th>
<th>Search domains</th>
</tr>
</thead>
<tbody>
<tr>
<td>enp0s3</td>
<td>Manual</td>
<td>10.0.2.0/24</td>
<td>10.0.2.10</td>
<td>10.0.2.1</td>
<td>8.8.8.8,8.8.4.4</td>
<td><empty></td>
</tr>
</tbody>
</table>
<ul>
<li>Leave proxy and mirror addresses as they are</li>
<li>Let the installer self-upgrade (if asked).</li>
<li>Use an entire disk for the installation</li>
<li>Disable setup of the disk as LVM group</li>
<li>Double check that NO swap space is allocated in the partition table. Kubernetes does not work properly with SWAP.</li>
<li>Configure your user and system names:</li>
<li>User name: TeraFlowSDN</li>
<li>Server's name: tfs-vm</li>
<li>Username: tfs</li>
<li>Password: tfs123</li>
<li>Install Open SSH Server</li>
<li>Import SSH keys, if any.</li>
<li>Featured Server Snaps</li>
<li>Do not install featured server snaps. It will be done manually later to illustrate how to uninstall and reinstall them in case of trouble with.</li>
<li>Let the system install and upgrade the packages.</li>
<li>This operation might take some minutes depending on how old is the Optical Drive ISO image you use and your Internet connection speed.</li>
<li>Restart the VM when the installation is completed.</li>
</ul>
<h4id="upgrade-the-ubuntu-distribution_1">Upgrade the Ubuntu distribution</h4>