Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Introduction

This document explains the steps to on-board and instantiate vDNS on Azure

Pre-requisites

  1. ONAP environment should be available as mentioned here

Demo Video 

Refer to the video on how to on-board and instantiate vDNS on Azure(E2E)

Multimedia
namevdns_on_azure.mp4
width500
height200

The detailed steps are provided below:

Onboarding and Service Design

  1. Onboard the vDNS VNF using the TOSCA designed using Simple profile nodes. TOSCA csar is available on  Github: https://github.com/onapdemo/demo/raw/master/tosca/aria_csars/simple_vdns.csar 
  2. Import the vDNS VSP and create the VNF as shown in the video
  3. After creating the VNF, use the deployment artifact link to add the Azure specific TOSCA in the OTHER folder.
    1. Azure specific TOSCA for vDNS is available on Github: https://github.com/onapdemo/demo/raw/master/tosca/aria_csars/aria-vdns.csar
  4. Using SDC catalog, create the vDNS service by adding two VNFs that were imported.
  5. Distribute the service to SO and AAi

Service Provisioning

Once the service model gets distributed to SO & AAI, service instantiation can be done using VID UI

Pre-requisites 

Refer to Pre-requisites page

Steps to instantiate

  1. Login to VID and click on Browse Service Models(Left menu)
  2. Click on Deploy and then enter the service instance name and other details to create the service.
  3. Once created, you can see the service instance details with an option to "Add VNF".
  4. Click on Add VNF and select the VNF module.Enter the VNF name and other details to create the VNF.
  5. Preload SDNC data by capturing the VNF model data information
    1. POST /restconf/operations/VNF-API:preload-vnf-topology-operation

      Code Block
      titlevDNS Preload Request Body
      {
          "input": {
              "vnf-topology-information": {
                  "vnf-topology-identifier": {
                      "service-type": "28568e01-94fb-41a5-bc66-dfc7ee87ef90",
                      "vnf-name": "VF_VLB1",
                      "vnf-type": "Simple_vlb0..base_vlb..module-0",
                      "generic-vnf-name": "VNF_VLB1",
                      "generic-vnf-type": "azure-vdns-service/azure-vdns-vsp 0"
                  },
                  "vnf-assignments": {
                      "availability-zones": [],
                      "vnf-networks": [],
                      "vnf-vms": []
                  },
            "vnf-parameters":
            [
      {
      "vnf-parameter-name": "vlb_image_name",
      "vnf-parameter-value": "ubuntu16-ecomp.qcow2"
      },
      {
      "vnf-parameter-name": "vlb_flavor_name",
      "vnf-parameter-value": "m1.medium"
      },
      {
      "vnf-parameter-name": "vlb_private_net_id",
      "vnf-parameter-value": "vlb_vdns_vsubnet"
      },
      {
      "vnf-parameter-name": "pktgen_private_net_id",
      "vnf-parameter-value": "vpg_vlb_vsubnet"
      },
      {
      "vnf-parameter-name": "onap_private_subnet_id",
      "vnf-parameter-value": "public_vsubnet"
      },
      {
      "vnf-parameter-name": "vlb_private_net_cidr",
      "vnf-parameter-value": "172.23.10.0/24"
      },
      {
      "vnf-parameter-name": "pktgen_private_net_cidr",
      "vnf-parameter-value": "172.23.9.0/24"
      },
      {
      "vnf-parameter-name": "onap_private_net_cidr",
      "vnf-parameter-value": "172.23.8.0/24"
      },
      {
      "vnf-parameter-name": "vlb_private_ip_0",
      "vnf-parameter-value": "172.23.10.111"
      },
      {
      "vnf-parameter-name": "vlb_private_ip_1",
      "vnf-parameter-value": "172.23.8.1"
      },
      {
      "vnf-parameter-name": "vlb_private_ip_2",
      "vnf-parameter-value": "172.23.9.111"
      },
      {
      "vnf-parameter-name": "vdns_private_ip_0",
      "vnf-parameter-value": "172.23.10.211"
      },
      {
      "vnf-parameter-name": "vdns_private_ip_1",
      "vnf-parameter-value": "172.23.8.3"
      },
      {
      "vnf-parameter-name": "vpg_private_ip_0",
      "vnf-parameter-value": "172.23.9.110"
      },
      {
      "vnf-parameter-name": "vpg_private_ip_1",
      "vnf-parameter-value": "172.23.8.2"
      },
      {
      "vnf-parameter-name": "vlb_name_0",
      "vnf-parameter-value": "zdfw1lb01lb01"
      },
      {
      "vnf-parameter-name": "vdns_name_0",
      "vnf-parameter-value": "zdfw1lb01dns01"
      },
      {
      "vnf-parameter-name": "vpg_name_0",
      "vnf-parameter-value": "zdfw1lb01pg01"
      },
      {
      "vnf-parameter-name": "dcae_collector_ip",
      "vnf-parameter-value": "127.0.0.1"
      },
      {
      "vnf-parameter-name": "dcae_collector_port",
      "vnf-parameter-value": "8080"
      },
      {
      "vnf-parameter-name": "repo_url_blob",
      "vnf-parameter-value": "https://raw.githubusercontent.com/onapdemo/onap-scripts/master/usecases"
      },
      {
      "vnf-parameter-name": "repo_url_artifacts",
      "vnf-parameter-value": "https://nexus.onap.org/content/groups/staging"
      },
      {
      "vnf-parameter-name": "demo_artifacts_version",
      "vnf-parameter-value": "1.2.0"
      },
      {
      "vnf-parameter-name": "install_script_version",
      "vnf-parameter-value": "1.1.1"
      },
      {
      "vnf-parameter-name": "pub_key",
      "vnf-parameter-value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+nbU5EGLqxaArpZYl5zzLCZaJf+U8ycmUNNHabgIBpngdv77cCVE7lT8ajs/Y6O4amUgAIXKPWcaYolhcV9IfLFY3Wt8LcKd97NSAaq5wlTFinsofC9L65MTqgK7vVQ6gvRWrekmHjeCgsfi20gQWmMKOXJhD+Mz4S0v9JHsWinY6xrxgzabFlDE0giasxFXQzBbmWtZwn9443NrpNkKA2phKjXQM6v7Pi9Th6gOUMPSVo8sxfYJ1WUkLI7Qxrcb+mfPQkHAJpTvxIot+cHdDY61l2QuIDbV4FFO4Cn3P3mFrrBnu99h1fxa8klmPDv7APcpbZoo/O7CyapQt78Jn"
      },
      {
      "vnf-parameter-name": "cloud_env",
      "vnf-parameter-value": "azure"
      }
       
       
            ]
             },
              "request-information": {
                  "request-id": "robot19",
                  "order-version": "1",
                  "notification-url": "openecomp.org",
                  "order-number": "1",
                  "request-action": "PreloadVNFRequest"
              },
              "sdnc-request-header": {
                  "svc-request-id": "robot19",
                  "svc-notification-url": "http://openecomp.org:8080/adapters/rest/SDNCNotify",
                  "svc-action": "reserve"
              }
          }   
      } 
    Note

    In preload parameters, repo_url_blob refers to Github link where the modified scripts for vDNS installation are kept.

    {
    "vnf-parameter-name": "repo_url_blob",
    "vnf-parameter-value": "https://raw.githubusercontent.com/onapdemo/onap-scripts/master/usecases"
    }
  6. Click on Add VF module.Enter the details and submit the request. This will instantiate the PG(Packet Generator), LB(Load Balancer) and DNS VMs on Azure

Testing vDNS Instantiation

  1. SSH to PG VM.
    1. ssh ubuntu@vpgtestapp.eastus.cloudapp.azure.com 
    2. Password: Qwertyuiop@@1

  2. Execute the command: nslookup host1.dnsdemo.onap.org 172.23.9.111 


  3. sudo tcpdump -i eth1


Running vDNS with Robot Framework

This vDNS automation handles model creation and instantiation.

Run the vDNS script as following:

  • Connect to the Azure VM where ONAP is deployed via SSH and execute the following commands

    Code Block
    [root@onap-tanmay:/home/ubuntu/oom/kubernetes/robot]# cd /opt/aee/oom/kubernetes/robot/
    [root@onap-tanmay:/home/ubuntu/oom/kubernetes/robot]# ./demo-k8s.sh instantiateAzureVDNS


 

Output of the Execution-

 

Console -

Azure Portal - 

Log-

vDNS on Azure

Note
titleAdditional information

Based on the preferences, User can modify following files to instantiate vFW on Azure.

    1. integration_preload_parameters.py
      This file is available under /dockerdata-nfs/<namespace>/robot/eteshare/config/ in Azure VM where ONAP is deployed. User can modify preload parameters for vDNS Instantiation under - "azurevdns_preload.template".
    2. integration_robot_properties.py
      This file is available under /dockerdata-nfs/<namespace>/robot/eteshare/config/ in Azure VM where ONAP is deployed. User can modify fields such as "AZURE_SUBSCRIPTION_ID" , "AZURE_TENANT_ID" , "AZURE_CLIENT_ID" , "AZURE_CLIENT_SECRET" , "AZURE_CLOUD_OWNER" , "AZURE_CLOUD_REGION"

Make sure you compile these python file after any modification using command - python <filename>