Running ONAP Demos on Azure

Introduction

This document explains how to run the ONAP demos on Azure using the Beijing release of ONAP.

The Beijing release had certain limitations due to which fixes/workarounds have been provided to execute the demos. The document contains the details of the fixes/workarounds and the steps to deploy them.



Current Limitations of Beijing Release and Workarounds



S.No

Component

Issue detail

Current Status

Further Actions

S.No

Component

Issue detail

Current Status

Further Actions

1

SO

Custom workflow to call Multivim adapter

A downstream image of SO is placed on github which contains the custom workflow BPMN along with the Multivim adapter.

A base version of code is pushed to gerrit that supports SO-Multicloud interaction. But, this won't support Multpart data(CSAR artifacts to pass to Plugin). This need to be upstreamed.

2

MutliCloud plugin

Current azure plugin on ONAP gerrit does not support vFW and vDNS use-cases

Using the downstream image from github and developed a custom chart in OOM (downstream) to deploy as part of multicloud component set.

Need to upstream the azure-plugin code to support vFW and vDNS use-cases.




High level Solution Architecture

The High level solution architecture can be found here

Not all ONAP components have been shown in the high level solution. Only the new component/modules that are introduced in the solution are shown. Rest all remains the same.

Deploying ONAP on Azure using Beijing Release

ONAP needs to be deployed with the dockers containing the workarounds provided for the limitations in the Beijing release.

The OOM deployment values chart have also been modified to deploy the dockers with the fixes.

The detailed list of changes is given below:

 

S.No

Project Name

Docker Image

(Pull from dockerhub repo)

Remarks

S.No

Project Name

Docker Image

(Pull from dockerhub repo)

Remarks

1

OOM

NA

Contains the latest values.yaml files which point to downstream images of:

That include:

  1. SO

  2. Multicloud-azure-plugin

2

SO

elhaydox/mso:1.2.2_azure-1.1.0

Contains the VFModule fix along with the newly developed BPMN and Multi VIM adapter

3

multicloud-azure

elhaydox/multicloud-azure

Aria plugin to interface with Azure and instantiate VNFs

Deploying ONAP on Azure

Creation of Kubernetes cluster on Azure

  • Login to azure

    az login --service-principal -u <client_id> -p <client_secret> --tenant <tenant_id/document_id>

     

  •  Create a resource group  

    az group create --name <resource_group_name> --location <location_name>
  • Get the deployment templates from ONAP gerrit

    git clone -o gerrit https://gerrit.onap.org/r/integration cd integration/deployment/Azure_ARM_Template
  • Change arm_cluster_deploy_parameters.json file data (if required)

  • Run the deployment template  

    The deployment process will take around 30 minutes to complete. You will have a cluster with 12 VMs being created on Azure(as per the parameters). The VM name with the post-index: "0" will run Rancher server. And the remaining VMs form a Kubernetes cluster.

Deploying ONAP

  • SSH to the VM using root user where rancher server is installed.(VM with postindex:"0" as mentioned before)

Helm upgrade

When you login to Rancher server VM for the first time, Run: "helm ls" to make sure the client and server are compatible. If it gives error: "Error: incompatible versions client[v2.9.1] server[v2.8.2]", then

Execute: helm init --upgrade

  • Download the OOM repo from github (because of the downstream images)

    Get install script on Azure VM

  • Execute the below commands in sequence to install ONAP

    Get install script on Azure VM

Due to network glitches on public cloud, the installation sometimes fail with error: "Error: release dev failed: client: etcd member http://etcd.kubernetes.rancher.internal:2379 has no leader". If one faces this during deployment, we need to re-install ONAP. For that: helm del --purge onap rm -rf /dockerdata-nfs/* #wait for few minutes

helm install local/onap --name dev --namespace onap

Running ONAP use-cases

Refer to the below pages to run the ONAP use-cases

  1. vFW on Azure

  2. vDNS on Azure



Building the Source Code with fixes

If you want to take a look at the fixes and create the dockers for individual components, the source code for the fixes is available Source Code access