Anuket Project

Develop NFVI + VNF Web Portals and test locally

Develop and update official OVP web portal

For OVP Web development, the  source code can be found in github https://github.com/opnfv/dovetail-webportal.

The web portal is composed by 5 different Docker containers and the corresponding Docker images are,

  • mongo:3.2.1
  • jwilder/nginx-proxy
  • opnfv/dovetail-webportal-web:latest
  • opnfv/dovetail-webportal-web-onap:latest
  • opnfv/dovetail-webportal-api:latest

The first 2 Docker images are basic images and has no relationship with dovetail-webportal repo. So in order to update the web, it only needs to update the last 3 Docker images.

These 3 images will be rebuilt automatically when there are new patched merged to repo dovetail-webportal.

Tag the repo (e.g. 2.0.0), then it will build 3 docker images with that tag, and they can be used for updating official OVP web portal.

After the Docker images have been successfully pushed to Dovetail Docker hub, follow the below directions to update the website.

Updating the OVP portal

The OVP dashboard is deployed from a clone of the dovetail-webportal repo by the jenkins-ci user on a VM. 

To update the dashboard navigate to '/home/jenkins-ci/dovetail-webportal/docker' on the VM
and run the following command:

docker-compose up -d

Configuration for the deployment is stored under 'dovetail-webportal/docker' in:

  • vhost.env
  • config.env

Any changes to these files will require reloading the containers with the above command

Backups of the dashboard run on a daily cronjob of the jenkins-ci user and get stored at /home/jenkins-ci/backups/:

HOME=/home/jenkins-ci
# Backup OVP database and logs
@daily $HOME/backup.sh >> $HOME/logs/backup.log

Test web portal locally

Before updating the official web, it needs to test locally.

Pull the dovetail-webportal source code and download the 5 docker images mentioned before.

Go to dovetail-webportal/docker, refer to file README.rst to edit config.env and vhost.env.

Run all containers with docker-compose.yml. (exec cmd: docker-compose up -d)

Use the local IP and port (default is 8000) to access the local web.

VNF web portal

The ONAP web portal prototype has been demonstrated by Dan XuFormer user (Deleted) and Former user (Deleted) in ONAP DDF + OPNFV Plugfest.

You can find both parts (Part 1 and Part 2) in ONAP DDF + OPNFV Plugfest wiki.

The Part 2 is considered as the presentation of the demo of the VNF web portal along with screen shots for each page of the portal.

The VNF web portal uses the same Docker containers and the corresponding Docker images with OVP web portal.

Build Instructions

  1. Update the "/etc/hosts" file introducing also the new page / portal addresses

    127.0.0.1 localhost ovp.localhost onap.localhost
  2. Build new images for REST api and the Front End Portals by running the following commands:

    git clone https://gerrit.opnfv.org/gerrit/dovetail-webportal [dovetail_path]/dovetail-webportal
    cd [dovetail_path]/dovetail-webportal/docker
    sudo docker build -f Dockerfile.web -t opnfv-web .
    sudo docker build --build-arg CONTAINER=onap --build-arg GUI=onap-ui -f Dockerfile.web -t onap-web .
    sudo docker build -f Dockerfile.api -t rest-api .
  3. Create the appropriate config files:

    cd [dovetail_path]/dovetail-webportal/docker
    cat <<EOF > vhost-onap.env
    VIRTUAL_HOST=onap.localhost
    EOF
    cat <<EOF > vhost-opnfv.env
    VIRTUAL_HOST=ovp.localhost
    EOF
    cat <<EOF > config.env
    mongodb_url=mongodb://mongodb:27017/
    base_url=http://ovp.localhost
    testapi_url=lfnapi:8010
    PYTHONUNBUFFERED=True
    EOF
  4. Update the docker-compose file to use the images created in step 2

    cd [dovetail_path]/dovetail-webportal/docker
    vim docker-compose.yml
    ...
    —
    version: '3'
    services:
    ....
    webopnfv:
    image: opnfv/dovetail-webportal-web:latest
    container_name: web-opnfv
    ....
    webonap:
    image: opnfv/dovetail-webportal-web-onap:latest
    container_name: web-onap
    ....
    lfnapi:
    image: opnfv/dovetail-webportal-api:latest
    container_name: lfn-api
    ....
  5. Start the deployment with the following command:

    cd [dovetail_path]/dovetail-webportal/docker
    sudo docker-compose up
  6. Once the deployment is up, all three pages can be accessed by the following addresses:

    http://opnfv.localhost
    http://onap.localhost