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