Skip to content

Commit 074b94e

Browse files
authored
Merge pull request #5 from papagap/develop
added RAN-Controller readme
2 parents bb00950 + 87d3017 commit 074b94e

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed

RAN-Controller.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# RAN controller deployment
2+
3+
## 1. Prerequisites
4+
5+
The I2CAT's RAN controller (RACOON) requires an environment of at least:
6+
7+
- 16 GB of RAM
8+
- 8 CPU (recommended)
9+
- 50 GB of HD
10+
- Ports opened: TCP:830, TCP:6640, TCP:8000, TCP:8008 and TCP:8181
11+
12+
The requirements are quite high since RACOON uses as one of its southbound API an OpenDaylight controller.
13+
14+
## 2. Features
15+
16+
RACOON has been developed as a RAN controller for the 5GCITY (H2020) european project and supports:
17+
18+
- Registration and management of I2CAT's wireless devices
19+
- Registration and management of Accelleran's small cells
20+
- Reservation and slicing of sub6 interfaces and LTE ENBs
21+
- Deployment of multiple access points on the sub6 interfaces
22+
- Deployment of multiple PLMNs on the LTE ENBs
23+
24+
## 3. Deployment
25+
26+
### 3.1. Dependencies
27+
28+
#### 3.1.1. General dependencies
29+
30+
- OpenVPN is usually required to establish a connection between the RAN controller and the managed nodes. OpenVPN is not mandatory if both the managed nodes are on the same local network or broadcast domain.
31+
- A [Java SDK (version > 8)](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) is required to run both RACOON and NetconfManager components
32+
- Two components (RACOON and NetconfManager) have been developed using the [spring boot](https://spring.io/) framework. The problem is that there can't be two running instances of the framework and therefore it is mandatory installing either Netconf Manager or RACOON components on a [linux container](https://linuxcontainers.org/) (lxc) or a similar environment (another option would be a [VirtualBox](https://www.virtualbox.org/) VM or even a OpenStack instance).
33+
34+
#### 3.1.2. Opendaylight
35+
36+
RACOON depends on a proprietary extension of OpenDaylight; to be precise requires the following bundles to be active:
37+
38+
- odl-ovsdb-southbound-impl-ui
39+
- odl-ovsdb-ui
40+
- odl-copserver
41+
42+
Since the odl-copserver bundle has been developed by I2CAT and is currently proprietary and non-licensed; a copy of the OpenDaylight BORON SR3 including the previously mentioned bundle can be found at https://drive.google.com/file/d/1g9-2Akoq8oOyBsB5SgY_MDtoLrKcsWU5 (Please contact the I2CAT foundation if not accessible).
43+
44+
To start OpenDaylight:
45+
46+
1. Decompress the `distribution-karaf-0.5.3-Boron-SR3.tar.gz`file
47+
48+
```sh
49+
tar -zxvf distribution-karaf-0.5.3-Boron-SR3.tar.gz
50+
cd distribution-karaf-0.5.3-Boron-SR3
51+
```
52+
53+
2. Execute the `karaf`executable file:
54+
55+
```sh
56+
bin/karaf clean
57+
```
58+
3. Enable the required bundles on the OpenDaylight's CLI:
59+
60+
```sh
61+
opendaylight-user@root>feature:install odl-ovsdb-southbound-impl-ui
62+
opendaylight-user@root>feature:install odl-ovsdb-ui
63+
opendaylight-user@root>feature:install odl-copserver
64+
```
65+
66+
### 3.1.3. Netconf Manager
67+
68+
This is the component responsible for the Netconf calls to the nodes. The component has been developed by I2CAT and is proprietary and non-licensed; a copy to the latest stable distribution of this software can be found at https://drive.google.com/file/d/1xcVciwj7eMQXCAK-1uMvfnfnzdtBqowQ (Please contact the I2CAT foundation if not accessible).
69+
70+
1. Download the `netconf-api-3.2.0.jar`file
71+
72+
2. To deploy this component just execute `java -jar netconf-api-3.2.0.jar`
73+
74+
### 3.2. RACOON deployment
75+
76+
This is the main component. This spring boot application has been developed by I2CAT and is proprietary and non-licensed; a copy to the latest stable distribution of this software can be found at https://drive.google.com/file/d/1eCSMPlESGOBD6-mALofYfUlke3WyedkK (Please contact the I2CAT foundation if not accessible). To install the controller:
77+
78+
1. Download the `api-1.0.0.jar` file
79+
80+
2. Execute `java -jar api-1.0.0.jar`
81+
82+
### 3.3. Checking the installation
83+
84+
The three components have their own front end which can be connected to in order to check if the installation process was successful.
85+
86+
- OpenDaylight (http://CONTROLLER_IP:8181/index.html): Should display a login page (default username is admin and password is admin as well)
87+
- NetconfManager (http://CONTROLLER_IP:8000/swagger-ui.html): This should display a lot of entry points. If there are nodes present on the RACOON's topology executing the GET operations should display some more information and details about them.
88+
- RACOON (http://CONTROLLER_IP:8008/swagger-ui.html): This should be similar to the Netconf Manager view; a lot of entry points. Executing the GET operations on an existing topology should display more information about the nodes and chunks present.
89+
90+
### 3.4. FAQ
91+
92+
Q: Either RACOON or Netconf Manager fails to start
93+
A: As mentioned above, spring-boot applications can't be instantiated twice on the same computer; install one of the components in a linux container
94+
95+
Q: I installed a component on a linux container but the application is not responding
96+
A: Configure IPTABLES to do a static nat to the application's appropriate port; for example, if Netconf Manager has been installed on a container the iptables command would look like this:
97+
98+
```sh
99+
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8000 -j DNAT --to-destination $CONTAINER_IP:8000
100+
```
101+
102+
Q: No nodes appear on my topology after I install the controller and its components
103+
A: The node detection has not been implemented on this version therefore the node MUST start the register process.
104+
105+
Q: The service deployment fails quite a lot
106+
A: This is probably because a node is unstable. The best we can do to solve this issue is to restart OpenDaylight, RACOON and NetconfManager components and check the node's connectivity status towards the RAN controller.
107+
108+
Q: I have installed the different components on different hardware but every query to the RACOON returns a 500 error
109+
A: This version does not support the distributed controller; all the components have to be installed on the same bare metal.

0 commit comments

Comments
 (0)