1 ## 1. Setup ODL network app development environment
3 Description of how to get an development environment for creating network applications on top of opendaylight.
4 The development environment is a single server solution with graphical front-end for the developer.
5 The ODL Boron release is used as basis.
9 Server setup for a development server with eclipse as IDE, ODL Boron Karaf container and NE Simulators.
10 Remote Desktop is used to access the server via a VPN connection.
11 - From Windows PC: MS Remote Desktop
12 - From Ubuntu PC: There are some. Example: Remmina Remote Desktop Client (sudo apt install remmina)
14 Capacity of the VM Server should be about 4 CPUs and 8 Gig of RAM and 50 Gig of HDD.
18 - ubuntu server edition (16.04.03 LTS)
20 - xrdp : remote management GUI
21 - For setup that supports copy and paste use the PPA Version 0.9.x
22 - version standard repository version 0.6.x is basically also working.
27 Do the following steps and restart server if done.
29 1. Answer yes, if asked about overwriting etc/xrdp/xrdp.ini
32 sudo add-apt-repository ppa:hermlnx/xrdp
34 sudo apt-get install xrdp
38 2. Switch of extensive gui features. In ubuntu desktop goto menu on the left right corner <br/>
39 to **Applications-> Settings -> Windows Manager Tweaks**, select folder Compositor and
40 disable it by unchecking the option.
42 3. Improve performance (if required)
44 Change configuration in /etc/xrdp/xrdp.ini
45 - Security level high to none
47 4. Change sudo vi /etc/xrdp/sessman.ini and add change to '.thinclient_drives' (see the dot)
50 ; drive redirection, defaults to xrdp_client if not set
51 FuseMountName=.thinclient_drives
54 4. reboot server to activate xrdp configuration
56 5. Login with RPC application connect to server. Use defaults and enter existing user an password.
59 #### Adaption for Windows Client:
60 - Adapt TAB key handling ([details askubuntu](https://askubuntu.com/questions/352121/bash-auto-completion-with-xubuntu-and-xrdp-from-windows)):<br/>
61 edit the `~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml` file to unset the following mapping
63 < <property name="<Super>Tab" type="string" value="switch_window_key"/>
65 > <property name="<Super>Tab" type="string" value="empty"/>
67 NOTE: There may be two entries, and the first already has the value "empty". If this is the case, edit the second entry.
69 #### Adding further tools
71 Add chromium as browser
72 - See [details askubuntu](https://wiki.ubuntuusers.de/Chromium/Installation/)
74 sudo apt-get install chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg
76 ### 1.2 Directory structure
79 - eclipse (Eclipse installation directory)
81 - CENTENNIAL (network application)
82 - other projects go here
83 - distribution-karaf-0.6.1-Carbon (opendaylight karaf run-time environment)
86 - Access to highstreet technologies gitlab server and to project "CENTENNIAL"
87 - Gerrit account [Create account](https://wiki.opendaylight.org/view/OpenDaylight_Controller:Gerrit_Setup)
90 ### 1.3 Install setup ODL_KARAF_HOME, Java, eclipse, mvn, draw and tools
92 Setup in home directory .bashrc like follows and logout/login to activate.
94 export ODL_KARAF_DIST="distribution-karaf-0.6.1-Carbon"
95 export ODL_KARAF_HOME="$HOME/odl/$ODL_KARAF_DIST"
96 export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
102 According to step 2.2 [CENTENNIAL/code/README.md](../README.md#step-22---download-CENTENNIAL-applications)
103 - openjdk (sudo apt-get install)
104 - mvn, configure maven for ODL
106 - ODL Boron distribution
109 - libre office draw (sudo apt-get install libreoffice-draw)
110 - eclipse via oomph for ODL Development
112 Example eclipse configuration for user "Herbert"
114 ![eclipse parameters](READMEInstallDevelopmentEnvironment_1_eclipseinst.png?raw=true "Eclipse parameters")
116 After install .. change setting below for Secure Store:
118 ![eclipse adaption](READMEInstallDevelopmentEnvironment_2_secureStore.png?raw=true "Secure store option")
120 Add plugins from eclipse marketplace
121 - "GitHub Flavored Markdown viewer plugin 1.8.3" (GFM)
122 - Elcipse YANG editor
127 See the documentation [create app documentation](READMECreateApp4Carbon.md)
132 - Karaf Intro and Install
133 - Simulators (Three times)