For module tests and first integration test it is beneficial to create a "stand-alone" instance of ONAP SDN-R. Such version can run on a single developer system.
Prerequisites
Operating System:
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal
It is assumed that any operation system which is supported by docker and docker-compose can be used.
The host systems must have internet connectivity.
The user must have sudo privileges.
Basic Installation
For running ONAP SDN-R as "stand-alone" version docker and docker-compose must be installed.
- Docker installation on Ubuntu: https://docs.docker.com/engine/install/ubuntu/
- docker-compose installation: https://docs.docker.com/compose/install/
Check the versions:
$ docker --version Docker version 19.03.8, build afacb8b7f0 $ docker-compose --version docker-compose version 1.27.2, build 18f557f
For IPv6 support a docker configuration by creating /etc/docker/daemon.json is required.
$ sudo -s $ cat <<EOT >> /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" } EOT $ exit $ sudo systemctl restart docker
The quick path
Basic installation
- Tested with Ubuntu 20.04
- Further tools:
- chromium, curl
- docker 18.09.2
- xmllint (sudo apt install libxml2-utils)
- Hava a user with admin rights.
- Add user to "docker" group.
HINT: You need to log out from server completely to activate this setting!!
sudo usermod -aG docker $USER
- Maven configuration for ONAP Nexus (onap should be within settings file) Warning: Previouse configuration is overwritten by command!
#Warning: Previouse configuration is overwritten by command! wget git.onap.org/oparent/plain/settings.xml -P $HOME/.m2
- Download and clone repository with onap-oof-pci project to $HOME/ccsdk
cd $HOME git clone https://github.com/onap-oof-pci-poc/ccsdk.git
Build and run single node SDN-R
Build and run container
Login to nexus repository (for first time) .. see here: Docker DevOps
docker login -u docker -p docker nexus3.onap.org:10001
- Build
cd $HOME/ccsdk/distribution/odlwt-alpine-standalone-master mvn clean install -P docker
- Use (1) to run container with name "sdnr" in detached mode without any port mapping or (2) to run with mapping to host:8181
(1) docker run --detach --name sdnr --env SDNRWT="true" oof-pci/ccsdk-odlwt-alpine-image:latest (2) docker run --detach --name sdnr --env SDNRWT="true" -p8181:8181 oof-pci/ccsdk-odlwt-alpine-image:latest
- With (1) do open UX Web GUI by using browser http://172.17.0.2:8181/index2.html (!) on host machine with user/password = admin/admin
- Wait about 30 seconds that container is up and running
- Verify with curl -v http://172.18.0.2:8181/index2.html that it is running. Correct ouput ends with lines: HTTP/1.1 301 Moved Permanently , < Location: odlux/index.html, < Content-Length: 0
- docker ps should show a single running container
- docker inspect sdnr gives IP adress to be used. In the example 172.17.0.2
- With start (2) you can open UX Web GUI by using browser http://HOST_IP:8181/index2.html from different machine with user/password = admin/admin
- Login to docker container command line with name "sdnr"
docker exec -t -i "sdnr" /bin/bash -c 'TERM=xterm exec /bin/bash'
- Opendaylight home is under "/opt/opendaylight". Coul could cd $ODL_HOME
- Leave CLI with exit.
Stop and remove container
docker stop sdnr docker rm sdnr
Build and run single node CENTENNIAL POC5
.. waiting for content