Introduction
This document explains how to run the ONAP demos on Azure using the Amsterdam release of ONAP.
The Amsterdam 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 Amsterdam Release and Workarounds
S.No. | Component | Issue detail | Current Status | Further Actions |
---|---|---|---|---|
1 | SDC | The VNFs are onboarded using TOSCA. However, SDC does not support the 'Group' construct (aka VFModule) which is required when the TOSCA is ingested in SO after distribution. | A partial fix has been provided to overcome this issue | A proposal to include the fix and enhance SDC to support TOSCA 'Groups' construct has been submitted to the SDC PTL. Expected to discuss this and include in the Casablanca release |
2 | VID | VID is unable to show the 'VFModule' of a TOSCA service definition. This is linked to the above issue in SDC. | Fix has been provided | The fix will be submitted along with the SDC Group fix for Casablanca release |
3 | Multivim Broker | MultiVim broker does not support http request that have content-type as 'multipart/form-data' | Fixed in Beijing release | NA |
4 | SDC | The SDC UI displays the service distribution is not successful even though the TOSCA was successfully deployed in SO. | Fixed in Beijing release | NA |
5 | SO | VFModule not available in TOSCA definitions due to which SO does not consume the service properly | Fix has been provided in the 'ASDC Controller' module so that the VFModule tables in the Catalog schema can be populated | A proper solution for this depends on the SDC fix explained above. The changes to support 'Groups'/'VFModule' are part of the SDC client library provided by SDC. In addition, the ASDC controller would also need fixes to handle the SDC client library changes. Expected to be fixed in the Casablanca release. |
High level Solution Architecture
The High level solution architecture can be found here
Deploying ONAP on Azure using Amsterdam Release
ONAP needs to be deployed with the dockers containing the fixes provided for the limitations in the Amsterdam release. Some fixes have been merged with the Beijing Release and those dockers will be used.
This section explains deploying the Amsterdam ONAP Release on Azure for executing the demo scenarios.
If you want to deploy other releases of ONAP or without the fixes for Amsterdam release, please refer here
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 |
---|---|---|---|
1 | OOM | elhaydox/oom | Contains the latest values.yaml files along with certain fixes needed in Amsterdam release. That include:
|
2 | OOM Config | elhaydox/oomconfig | Contains the configuration files. |
3 | SO | elhaydox/mso | Contains the VFModule fix along with the newly developed BPMN and Multi VIM adapter |
4 | multicloud-azure | elhaydox/multicloud-azure | Aria plugin to interface with Azure and instantiate VNFs |
5 | SDC | elhaydox/sdc-backend | Contains the partial fix to support Group construct |
6 | VID | elhaydox/vid | Contains the partial fix to support Group construct so that VF-Module can be instantiated from VID |
7 | Robot | elhaydox/testsuite | Robot automation code to instantiate vFW and vDNS on Azure |
Deploying ONAP on a Single VM
Consists of two steps:
- Creating the VM on Azure where ONAP will be deployed
- Deploying ONAP including installing k8s, rancher, helm, etc.
Creation of VM 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>
Run the deployment template
az group deployment create --resource-group deploy_onap --template-file oom_azure_arm_deploy.json --parameters @oom_azure_arm_deploy_parameters.json
change the parameters file accordingly
Files attached:
Deploying ONAP on VM
Download the following script on the VM created using above step.
Get install script on Azure VM# this script is based/branched-off the scripts developed for the CD system under LOG-320 - refer to the merges there for updated scripts wget https://raw.githubusercontent.com/onapdemo/onap-scripts/master/entrypoint/deploy_onap.sh chmod 777 deploy_onap.sh
The deploy_onap.sh script is a wrapper/utility script that does the following :- Executes the ONAP script to install rancher - oom_rancher_setup.sh
- Clones OOM from Git Hub(https://github.com/onapdemo/oom.git ) that contains the modified image reference in the Values chart. The docker images contain the fixes explained above and are available in docker hub instead of the ONAP nexus
- Install ONAP based on the modified value charts in oom.
This script should be used only for Amsterdam release on Azure. The script is a wrapper for OOM to install the required images from the docker hub. Once the fixes are merged in ONAP, which could happen in the Casablanca release, it might not be required. The original OOM scripts will be good to install ONAP.
Please refer to the original ONAP script in https://git.onap.org/logging-analytics/tree/deploy/cd.sh for installing other releases.- Execute the below command to deploy ONAP
./deploy_onap.sh -e onap -t single -r true -n $dns_name
-r : give input as true to deploy rancher and kubernetes on VM
$dns_name: Public IP address/DNS namespace assigned to VM
- To delete a previously deployed ONAP and deploy new one execute the command
./deploy_onap.sh -e onap -t single -c true -d true -n $dns_name
Running ONAP use-cases on Amsterdam Deployment on Azure
Refer to the below pages to run the ONAP use-cases
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